Jquery类选择器在多次尝试时运行多个事件
jquery class selector runs event more than ones on multiples tries
让我们保存一下我有两个div,其中有锚标记,它们与
具有相同的类<div id="div1">
<input type="hidden" value ="1"/>
<a class="class1">Click 1</a>
</div>
<div id="div2">
<input type="hidden" value ="2"/>
<a class="class1">Click 2</a>
</div>
现在我想有一个选择器侦听一个要点击的锚。
$('.class1').click(function(){
var hidVal = $(this).prev().val();
AlerthiddenVal(hidVal);
});
和一个简单的功能来提醒点击了什么
function AlerthiddenVal(val){
alert(val);
}
现在所有这些第一次都很好,第二次我运行它,它运行函数一次与第一次点击的值,然后另一次与正确的值,这继续下去,因为我点击更多的锚标签。谁能帮我解决这个问题,谢谢任何帮助。
当您多次绑定函数时会发生这种情况如果将此事件绑定到class1两次,则AlerthiddenVal函数将运行两次
解决方案是仅在加载文档时尝试绑定此事件一次或如果有必要在许多事件之后绑定它您需要在rebinding()之前调用unbind函数,例如:
$('.class1').unbind();
$('.class1').click(function(){
var hidVal = $(this).prev().val();
AlerthiddenVal(hidVal);
});
试试这个:
$('.class1').click(function(e){
e.stopImmediatePropagation();
var hidVal = $(this).prev().val();
AlerthiddenVal(hidVal);
});
注意e.stopImmediatePropagation()
。我有一个类似的问题,这解决了它。
$('.class1').click( function(){
AlerthiddenVal(
$("input",$(this).parent() ).val()
);
});
相关文章:
- 多个jQuery.on()事件无法运行xBrowser(取决于顺序)
- 单击按钮前运行事件
- 错误“;未处理'错误'事件“;在运行yo发电机之后
- JavaScript运行时事件循环现有技术
- 在单击事件中,第一次单击时激发代码一次,其余代码在所有单击时运行
- 如何在表单提交事件后运行JavaScript*
- 在on.change事件之后运行函数
- 在按钮'上运行PHP代码;s onclick事件,或者使用Ajax
- 如何使函数与.onsubmit事件一起运行
- 在加载多页模板Jquery Mobile的页面后运行事件
- 在javascript中,无法在运行时获取按钮的onClick事件的函数
- jQuery事件将只运行一次
- 在iPad上运行时,Mobile Safari中即将切换选项卡的Pagehide事件不会触发
- jQuery的事件处理程序运行良好,但应该't,因为它's不在ready()函数中
- 事件只运行一次
- 在onclick事件上运行PHP代码
- 滚动事件运行缓慢-有没有更轻松的方法
- 单击在焦点丢失之前注册的位置,但在焦点丢失后运行事件
- 如何在单击时运行事件加载
- 按钮由数据表生成,运行事件两次