使用live时,jQuery off()或bind()不会

时间:2013-11-14 07:42:42

标签: jquery

我的机智已经结束了这个问题

这里的想法是阻止链接工作,直到脚本完成其工作并再次启用链接。

我正在使用,并且不打算更改它。以下脚本无需实时工作,但无法使用直播。你能明白为什么吗?

$(document).ready(function () {
    $('.user').live('click',function() { // All works well if live is removed.
    //But I need live, since things change and there's a lot of old code using it.
        console.log('Invoked');
        // Do anything to disable the link
        $('.user').unbind('click'); // Does not work
        //$('.user').off('click'); // Does not work either

       //Once the script is done with its ajax work, enable it again
         //$('.user').bind('click');
        //$('.user').on('click');

    });

});


<div class="container">
    <div><i class="icon-add user"></i></div>
    <div><i class="icon-add user"></i></div>
    <div><i class="icon-add user"></i></div>
    <div><i class="icon-add user"></i></div>
</div>

2 个答案:

答案 0 :(得分:1)

您尝试使用.one()?

$('.user').one('click',function() { ...

答案 1 :(得分:-1)

live()函数已弃用于jQuery 1.7:have a look at this page

您最好使用on()函数:documentation