javascript - 如何仅在事件失去绑定(bind)之前才绑定(bind)事件

标签 javascript jquery events binding

我有一个 div,我在上面绑定(bind)了 click,如下所示:

  $("#mydiv").one('click',function(){ ... });

因为我只想执行一个 Action 一次。 现在我想重新绑定(bind)

  $("#mydiv").on('click',function(){ ... });

但前提是用户点击它,至少是第一次。

我该怎么做?

最佳答案

您可以 namespace events使用 jQuery:

$('#mydiv').on('click.firstClick', function () {
    // do stuff for the first time
    $(this).off('click.firstClick'); // only removes this event
});

$('#mydiv').on('click', function () {
    // stuff that always happens when you click
});

如果您只想让某事在第一次发生,之后每次都发生:

$('#mydiv').click(function () {
    // stuff that happens the first time you click
    $(this).off('click');
    $(this).click(function () {
        // stuff that happens every time after this
    });
});

第一种情况示例:http://jsfiddle.net/75HWV/ 第二种情况的示例:http://jsfiddle.net/SbhY3/

关于javascript - 如何仅在事件失去绑定(bind)之前才绑定(bind)事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15590304/

相关文章:

php - 禁用未选择的选项卡

javascript - 这个 Javascript 事件处理程序参数在哪里定义的?

javascript - 如何处理嵌套 iframe 中的事件?

javascript - Nodejs中设置Prototype类的成员变量

javascript - ZF2 headScript 包含两次相同的文件

javascript - 如何使用sequelize 与postgres 进行日期比较

javascript - 通过 GET URL 加载 Bootstrap nav nav-tabs

javascript - 用变量替换字符串值

javascript - jQuery 在页面加载时触发并绑定(bind)到事件?

c# - 我应该取消订阅事件吗?