我有一个div,我像这样绑定click
:
$("#mydiv").one('click',function(){ ... });
因为我只想执行一个操作一次。现在我想重新- bind
it
$("#mydiv").on('click',function(){ ... });
但前提是用户点击了它,至少是第一次。
我该怎么做呢?
您可以使用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/
$('#mydiv').one('click', function() {
// ...
// code here for action-A, on first click
// ...
$(this).on('click', function() {
// ...
// code here for action-B, on subsequent clicks
// ...
});
});