jQuery点击监听器在'It’不应该
jQuery click listener fires when it's not supposed to
使用下面的代码块,当我第一次按下#transfer-button
时,它会发出正确的对话框警报,但当在刷新页面之前执行第二次时,它将继续按顺序,从第一个对话框单击,直到最后一个对话框单击。例如,我按"WIlliam",它会弹出一个对话框,上面写着"WIlliam",然后我按"Lucy",会弹出一条对话框,上面说"WIlliam"。一旦关闭,"Lucy)也会立即弹出。我该如何解决这个问题?
$("#person1").click(function () {
$("#transfer-info").html("Transfer to Lucy.");
$("#transfer-button").click(function () {
alert("Lucy");
})
})
$("#person2").click(function () {
$("#transfer-info").html("Transfer to William.");
$("#transfer-button").click(function () {
alert("William");
})
})
切换时,您只需添加另一个事件侦听器,因此最终会有多个事件侦听程序,而这两个侦听程序都会启动。
你可以这样做。
$("#person1").click(function () {
$("#transfer-button").unbind('click');
$("#transfer-info").html("Transfer to Lucy.");
$("#transfer-button").click(function () {
alert("Lucy");
});
});
$("#person2").click(function () {
$("#transfer-button").unbind('click');
$("#transfer-info").html("Transfer to William.");
$("#transfer-button").click(function () {
alert("William");
});
});
尝试
$("#person1").click(function () {
$("#transfer-info").html("Transfer to Lucy.");
$("#transfer-button").off('click')
$("#transfer-button").click(function () {
alert("Lucy");
})
})
$("#person2").click(function () {
$("#transfer-info").html("Transfer to William.");
$("#transfer-button").off('click')
$("#transfer-button").click(function () {
alert("William");
})
})
相关文章:
- 我想在AngularJS应用程序中创建一个输入数字框,用户不应该在该框上键入十进制数字.(一个整数输入框)
- Javascript代码添加了一些不应该存在的内容
- 有没有任何情况下,一个方法不应该是原型方法
- 看起来第一个console.log是'It’不太对
- 当我认为它不应该重新渲染视图时,如何防止 Meteor 在 html 选择 dom 单击事件上重新渲染视图
- Node.js Promise - 代码不应该等到 .then 完成()
- 跳跃运动:旋转轴 – 如果手静止不动,它不应该在 0 左右
- 如果我不应该在组件WillUpdate中调用setState,如何更新状态(使用ReactJS)
- Javascript:尝试从多个没有匹配的数组中采样,在不应该的时候循环递增
- 在svg'It’不起作用
- Javascript-点击事件应该触发一个函数,它'It’不起作用
- 这个正则表达式不应该工作吗?
- 试图将HTTP_REFERER写入REFERER.txt,但它'It’不起作用
- 如何强制页面等待Angular.html2pdf.it不会渲染AngularJS
- 为什么不应该't我在JavaScript中使用Alert
- 如何避免隐藏不应该隐藏的部分
- 如果我在其中使用alert,Javascript代码就可以工作,否则它'It’不起作用
- 在对javascript/NodeJS应用程序进行原型设计时,应该测试什么,不应该测试什么
- jQuery点击监听器在'It’不应该
- clearTimeout()不会'Don’不要为所欲为;It’我应该这么做