我有一个div {绑定click
:
$("#mydiv").one('click',function(){ ... });
因为我只想执行一次动作。
现在我想要重新bind
它
$("#mydiv").on('click',function(){ ... });
但是,只有当用户点击它时,至少第一次。
我该怎么做?
答案 0 :(得分:6)
你可以使用jQuery namespace events:
$('#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/
答案 1 :(得分:1)
$('#mydiv').one('click', function() {
// ...
// code here for action-A, on first click
// ...
$(this).on('click', function() {
// ...
// code here for action-B, on subsequent clicks
// ...
});
});