[英]Jquery on function firing twice
这似乎是关于stackoverflow的一个有据可查的问题,我查看了许多其他条目,但似乎无法解决问题。
我有一个链接:
<a href="#" class="edit-settings">link</a>
和一个JQuery函数
$(document).on("click","a.edit-settings",function(){
//do stuff here, including an ajax function
}
我读到一个建议,您可以使用JQuery的one()
函数,但这会导致使用ajax将内容插入DOM的问题。 我也尝试使用stopPropagation()
但没有运气。
如何使事件仅触发一次,但读取两者之间的任何DOM更改?
谢谢
$(document).on("click","a.edit-settings",function(){
//do stuff here, including an ajax
return false;
});
如果这没有帮助:
$(document).on("click","a.edit-settings",function(e){
if(e.handled != true)
{
e.handled = true;
//do stuff here, including an ajax
return false;
}
});
好,问题解决了。 我有些尴尬地说,问题可能是由UI代码多次运行@UIKevinB所建议的。 链接中的数据属性(很遗憾,我未在问题中未包含该属性)触发div出现在ui套件中,同时运行了custom-ui.js函数。
供你参考:
我的链接,之前:
<a href="#edit-nfc" data-uk-offcanvas
class="edit-nfc-settings uk-icon-button uk-icon-rss">
</a>
...以及之后(使用跨度来解决问题。可能会有点破解,但这意味着我可以将UI工具包标准与我的custom-ui.js分开。事件现在仅触发一次)
<a href="#edit-nfc" data-uk-offcanvas>
<span class="edit-nfc-settings uk-icon-button uk-icon-rss" data-uk-tooltip="{pos:\'right\'}" title="Setup NFC"><span>
</a>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.