如何在事件丢失之前绑定事件

ste*_*teo 1 javascript jquery events binding

我有一个div,我这样绑定click:

  $("#mydiv").one('click',function(){ ... });
Run Code Online (Sandbox Code Playgroud)

因为我只想执行一次动作.现在我想要重新bind开始

  $("#mydiv").on('click',function(){ ... });
Run Code Online (Sandbox Code Playgroud)

但只有当用户点击它时,至少第一次.

我怎样才能做到这一点?

Vin*_*nay 6

您可以使用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
});
Run Code Online (Sandbox Code Playgroud)

如果您只是想在第一次发生某些事情,然后每次都会发生一些事情:

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

第一场景的示例:http://jsfiddle.net/75HWV/ 第二场景的示例:http://jsfiddle.net/SbhY3/