我有一些创建三个 jQuery 图标的 HTML 代码:
<span class="ui-icon ui-icon-circle-close one-click" data-customer-id="1"></span>
<span class="ui-icon ui-icon-circle-close one-click" data-customer-id="2"></span>
<span class="ui-icon ui-icon-circle-close one-click" data-customer-id="3"></span>
还有一些 JavaScript jQuery 代码,我希望每个单击的图标触发一次。当我使用它时它工作正常:
$(".one-click").one("click", function() { alert(this.dataset.customerId) } );
但是,当我尝试使用我自己的一个功能时,它只会在单击的第一个图标时触发。当第一次点击另一个图标时它永远不会触发:
$(".one-click").one("click", function() { my_custom_function(this.dataset.customerId) } );
它适用于单击的第一个图标,但不会触发单击的其他图标。jQuery 文档说它应该为每个事件类型的每个元素触发一次。我错过了什么?my_custom_function
应该为单击的每个元素执行...
编辑:
我应该详细说明my_custom_function
。它实际上是从 Web 服务器重新加载跨度。具体来说,它们包含在一个 div 中:
<div id="my_div">
<span class="ui-icon ui-icon-circle-close one-click" data-customer-id="1"></span>
<span class="ui-icon ui-icon-circle-close one-click" data-customer-id="2"></span>
<span class="ui-icon ui-icon-circle-close one-click" data-customer-id="3"></span>
</div>
...在 my_custom_function 内部的某个地方,我使用$("#my_div").load("/some_url/")
. 在注释掉这条负载线后,这些功能似乎正在正确触发。之后如何应用一次性触发功能load()
?再次调用one()
元素似乎并没有奏效。