9

jquery1.9.1に問題があります。私はそれを検索しましたが、これらは私の問題を解決していません。

    $('.sm2_expander').live('click', function() {
    $(this).parent().parent().toggleClass('sm2_liOpen').toggleClass('sm2_liClosed');
    return false;
});

誰もが「関数を使用する」と言っていましたが、今回は私のコードが機能しません。

$(document).on("click", "a.offsite", function(){ alert("Goodbye!"); }); 

編集:これが私の使用プロジェクトページです:ドラッグ可能なリンク

4

6 に答える 6

15

あなたの例ではセレクターを使用しましたa.offsiteが、ページにこのセレクターに一致する要素はありません。それが機能しない理由かもしれません。

$(function(){
    $(document).on('click', '.sm2_expander', function(){
        alert('bye');
        $(this).parent().parent().toggleClass('sm2_liOpen').toggleClass('sm2_liClosed');
    })
})

これを短縮できると思います

$(function(){
    $(document).on('click', '.sm2_expander', function(){
        $(this).closest('li').toggleClass('sm2_liOpen sm2_liClosed');
    })
})
于 2013-03-22T15:43:55.123 に答える
9

.live() は jQuery 1.3 で導入されたため、以前のバージョンでは機能しません。

.live() も jQuery 1.7 以降で廃止されました。

代替手段は .on() と .delegate() です

関連する質問を参照してください jQuery 1.9 .live() is not a function on how to migrate existing code.

「jquery-1.8.3.min.js」を使用して問題を解決しました。

于 2014-07-28T12:00:13.113 に答える
6

これを試してみてください:- http://jsfiddle.net/trdb9/

JS:-

$(document).on("click", "a.offsite", function () {
    alert("Goodbye!");
});

HTML:-

<a class="offsite">Click Me</a>
于 2013-03-22T15:21:44.417 に答える
0

ライブ サイトがある場合は、jQuery Migrate を使用することをお勧めします

https://github.com/jquery/jquery-migrate/

非推奨だが必要な機能が自動的に追加されます。

于 2015-05-07T07:12:27.463 に答える