0

私はこの問題で頭がいっぱいです

ここでの考え方は、スクリプトが作業を完了してリンクを再度有効にするまで、リンクが機能しないようにすることです。

私はライブを使用していますが、変更するつもりはありません。以下のスクリプトは、ライブなしでは機能しますが、ライブでは機能しません。理由がわかりますか?

$(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>
4

2 に答える 2

1

.one() を使用してみましたか?

$('.user').one('click',function() { ...
于 2013-11-14T08:15:56.793 に答える
-1

live()関数は jQuery 1.7 から廃止されました:このページを見てください

on()function: documentationを使用することをお勧めします。

于 2013-11-14T08:17:40.180 に答える