Javascript 使用jquery多次单击按钮问题
我有以下html。我实现了以下jquery代码,但我的删除按钮单击了两次。基本上是一次编辑和一次删除。当我单击编辑时,只会发生一次单击,但当我单击删除时,首先删除按钮触发器,然后再进行编辑。我如何避免这种情况。请检查我的代码Javascript 使用jquery多次单击按钮问题,javascript,jquery,Javascript,Jquery,我有以下html。我实现了以下jquery代码,但我的删除按钮单击了两次。基本上是一次编辑和一次删除。当我单击编辑时,只会发生一次单击,但当我单击删除时,首先删除按钮触发器,然后再进行编辑。我如何避免这种情况。请检查我的代码 $(".tools").live("click", function(e){ e.preventDefault(); alert('clicked on edit'); var n = $("a", this).attr('id'); ale
$(".tools").live("click", function(e){
e.preventDefault();
alert('clicked on edit');
var n = $("a", this).attr('id');
alert(n);
});
$(".tools").find('span').live("click", function(e){
e.preventDefault();
alert('clicked on delete');
var n = $("a", this).attr('id');
alert(n);
});
span(删除按钮)上的单击事件正在冒泡并触发
.tools
元素上的单击事件,该元素是您的编辑按钮
您可以使用以下方法防止事件冒泡:
旁注:.live()
从jQuery 1.7开始就被弃用,取而代之的是.on()
put$(“.tools”)。在$(“.tools”)之前解除绑定('click')
。live(“click”,函数(e){…
这是:
$(".tools").unbind('click');
$(".tools").live("click",function(e){ ....
//your script here
谢谢,我忘了做e.stopPropagation();但是如何用'on'和'find'来代替live$(“#ids”)。在(“.click”、“.tools span”、函数(e){})上,这样做可以解决'live'问题
$(".tools").find('span').live("click",function(e){
e.preventDefault();
e.stopPropagation();
alert('clicked on delete');
});
$(".tools").unbind('click');
$(".tools").live("click",function(e){ ....
//your script here