Javascript click()函数中的bind()和unbind()

Javascript click()函数中的bind()和unbind(),javascript,jquery,Javascript,Jquery,我有以下代码: $('#people_nav>.prev, #people_nav>.next').click(function(){ // Here I need to disable event of click for needed elements, see code below $('#people_nav>.prev, #people_nav>.next').unbind('click'); ... code ...

我有以下代码:

$('#people_nav>.prev, #people_nav>.next').click(function(){

   // Here I need to disable event of click for needed elements, see code below
   $('#people_nav>.prev, #people_nav>.next').unbind('click');

   ...
   code
   ...

   // Here I need resume event for click() function. How?

});

如何恢复
click()
函数的事件?它应该在
click(function(){…})的主体中..

您可以使用命名函数。差不多

var element = $('#people_nav>.prev, #people_nav>.next'); //cache for better performance
var yourFunction = function () {
    // Here I need to disable event of click for needed elements, see code below
    element.off('click'); //unbind event
        ...
    code
        ...
    // Here I need resume event for click() function. How?
    element.click(yourFunction);
};
element.click(yourFunction);
但是,我建议您只需要使用和

如果jquery版本>=1.7更喜欢
打开
关闭
方法,而不是
绑定
解除绑定
方法

,您可以为此使用and和命名函数

var elements = $('#people_nav > .prev, #people_nav > .next');

elements.on('click', doStuff); // bind handler

function doStuff() {

    elements.off('click');  // unbind handler

    /*...
    code
    ...*/

    elements.on('click', doStuff);  // rebind handler
});
你说的“简历”是什么意思?是否要临时禁用任何单击事件,还是特别希望事件暂停然后继续?
var elements = $('#people_nav > .prev, #people_nav > .next');

elements.on('click', doStuff); // bind handler

function doStuff() {

    elements.off('click');  // unbind handler

    /*...
    code
    ...*/

    elements.on('click', doStuff);  // rebind handler
});