[英]jquery double execution of single click
嗨,我有一个像这样的jquery函数
$(".btn").click(function(e){
alert("hello");
});
由于某种原因,它会给出两个警报。 这源于我正在使用的插件中的另一个脚本(在我关闭插件时发现)。 在我的脚本中,我尝试解除绑定,但是没有解决办法。 我还使用了e.stopPropogation()可以工作,但是会杀死插件功能。 有没有一种方法可以让插件功能正常运行,然后让我的功能只执行一次。
提前致谢。
我检查了你的小提琴,发现这个问题是由div与data-uk-button-radio
, uikit.min.js
将div上的click事件与data-uk-button-radio
绑定,这将触发所有click事件div的孩子们。
因此,使用event
判断此点击动作是否来自鼠标或脚本将解决此问题。
像这样:
(function(){
$( ".uk-button" ).click(function( event ) {
if(event.originalEvent)//only event from mouse has this property
alert("hello");
// Do something
});
})(jQuery)
在这里摆弄 。
试试看:根据您的小提琴
$( ".uk-button" ).bind('click.uniqueEvent', function( event) {
event.stopPropagation();
alert("hello");
// Do something
});
然后,当您想取消绑定此特定事件时。 您可以这样做:
unbind(".uniqueEvent")
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.