我有以下代码:
$('#main-button').click(function(){
$('#button').click(function(){
alert('something');
});
});
Run Code Online (Sandbox Code Playgroud)
每当我单击#main-button,说3次,然后单击#button,就会出现3个弹出框.如何防止这种情况,因此无论点击#main-button多少次,单击#button时只会出现一个弹出框?
使用jQuery 一个,或说明你正在尝试做的,可以有一个更好的解决方案.
$('#main-button').click(function(){
$('#button').one('click',function(){
alert('something');
});
});
Run Code Online (Sandbox Code Playgroud)
例如,如果您的问题#button仅在您单击时出现,#main-button则使用jquery on()在适当级别使用委派.(我使用文档中的委托,因为您的示例不明确)
$('#main-button').click(function(){
});
$(document).on('click','#button',function(){
alert('something');
});
Run Code Online (Sandbox Code Playgroud)
或者您可以使用此代码:
$('#main-button').click(function(){
$('#button').unbind("click").click(function(){
alert('something');
});
});
Run Code Online (Sandbox Code Playgroud)
更新#1
在unbind被弃用的jQuery 1.7.改用off方法.
| 归档时间: |
|
| 查看次数: |
6111 次 |
| 最近记录: |