我有以下代码:
$('#main-button').click(function(){
$('#button').click(function(){
alert('something');
});
});每当我点击#主按钮,比如说3次,然后点击#按钮,就会出现3个弹出框。如何防止这种情况,所以无论单击#main-按钮多少次,单击#按钮时只会出现一个弹出框?
发布于 2013-08-02 12:37:23
或者您可以使用以下代码:
$('#main-button').click(function(){
$('#button').unbind("click").click(function(){
alert('something');
});
});更新#1
unbind在jQuery 1.7中被否决。使用off方法代替。
发布于 2013-08-02 12:30:51
使用jQuery 一,或者解释您想要做什么,会有更好的解决方案。
$('#main-button').click(function(){
$('#button').one('click',function(){
alert('something');
});
});例如,如果只在单击#button时才出现类似于#main-button的问题,则使用jQuery关于()在适当级别使用委托(我使用的是来自文档的委托,因为您的示例不清楚)
$('#main-button').click(function(){
});
$(document).on('click','#button',function(){
alert('something');
});发布于 2013-08-02 12:32:32
如果您只想为#按钮单击显示弹出,为什么要将#按钮单击函数放入#main-按钮单击函数中?
你可以分开使用;
$('#main-button').click(function(){
});
$('#button').click(function(){
alert('something');
});https://stackoverflow.com/questions/18016899
复制相似问题