首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >多次单击处理程序,解除绑定无效

多次单击处理程序,解除绑定无效
EN

Stack Overflow用户
提问于 2013-11-19 23:51:17
回答 1查看 74关注 0票数 0

我的jQuery单击处理程序有问题。当我点击它的时候,它似乎不止一次开火。我尝试使用.unbind方法,但这破坏了我的另一个jQuery。这一切为什么要发生?我试图建立一个计算器应用程序,我希望当点击数字被推送到一个数组。这个函数起作用了,它只是做了太多次。这是我的javascript。每一个按钮都是一个div,它有一个恢复类( "7“按钮是.seven )。

这是代码

代码语言:javascript
代码运行次数:0
运行
复制
$(document).ready(function(){
$("#hidden > div").mouseover(function(){
    $(this).css('background-color','red');
$("#hidden > div").mouseleave(function(){
    $(this).css('background-color','black');
$("div.seven").click(function(){
    primary.push(7);
});
$("div.eight").click(function(){
    primary.push(8);
});
$("div.nine").click(function(){
    primary.push(9);
});
$("#.equals").click(function(){
alert(primary);
});
});
});
});
</script>
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-11-19 23:54:07

因为每次鼠标进入#hidden元素内的#hidden时,您都会注册一个click/mouseleave处理程序。

在正常情况下,不应在事件处理程序中注册事件处理程序。

试一试

代码语言:javascript
代码运行次数:0
运行
复制
$(document).ready(function () {
    var primary = [];
    $("#hidden > div").mouseover(function () {
        $(this).css('background-color', 'red');
    });
    $("#hidden > div").mouseleave(function () {
        $(this).css('background-color', 'black');
    });
    $("div.seven").click(function () {
        primary.push(7);
    });
    $("div.eight").click(function () {
        primary.push(8);
    });
    $("div.nine").click(function () {
        primary.push(9);
    });
    $("#.equals").click(function () {
        alert(primary);
    });
});
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20084693

复制
相关文章

相似问题

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