首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何防止在Jquery中多次调用函数

如何防止在Jquery中多次调用函数
EN

Stack Overflow用户
提问于 2013-08-02 12:28:46
回答 7查看 7.6K关注 0票数 0

我有以下代码:

代码语言:javascript
复制
$('#main-button').click(function(){

    $('#button').click(function(){
        alert('something');
    });
});

每当我点击#主按钮,比如说3次,然后点击#按钮,就会出现3个弹出框。如何防止这种情况,所以无论单击#main-按钮多少次,单击#按钮时只会出现一个弹出框?

EN

回答 7

Stack Overflow用户

回答已采纳

发布于 2013-08-02 12:37:23

或者您可以使用以下代码:

代码语言:javascript
复制
$('#main-button').click(function(){

    $('#button').unbind("click").click(function(){
        alert('something');
    });
});

更新#1

unbind在jQuery 1.7中被否决。使用off方法代替。

票数 6
EN

Stack Overflow用户

发布于 2013-08-02 12:30:51

使用jQuery ,或者解释您想要做什么,会有更好的解决方案。

代码语言:javascript
复制
$('#main-button').click(function(){

    $('#button').one('click',function(){
        alert('something');
    });
});

例如,如果只在单击#button时才出现类似于#main-button的问题,则使用jQuery关于()在适当级别使用委托(我使用的是来自文档的委托,因为您的示例不清楚)

代码语言:javascript
复制
$('#main-button').click(function(){

});


$(document).on('click','#button',function(){
   alert('something');
});
票数 5
EN

Stack Overflow用户

发布于 2013-08-02 12:32:32

如果您只想为#按钮单击显示弹出,为什么要将#按钮单击函数放入#main-按钮单击函数中?

你可以分开使用;

代码语言:javascript
复制
$('#main-button').click(function(){

});


$('#button').click(function(){
   alert('something');
});
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18016899

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档