1

私はこの単純なコードをここで試しています。実際のclickイベントまたはコメントアウトされたイベントでは機能しません。誰でも理由を説明できますか?以前にも問題がありましたnot...

4

4 に答える 4

7

これは単純に、live長い間非推奨だった関数が jQuery から削除されたためです。

交換

$("body").live("click",function() { alert("coo"); });

$("body").on("click",function() { alert("coo"); });

このページの右上を見てください: 「削除された 1.9」。

于 2013-01-31T17:53:07.487 に答える
6

.livev1.7 から jQuery で廃止され、v1.9 で削除されました。

に置き換える必要があり.on()ます。

.onバインディング要素には 2 つの構文がありますが、.live1 つしかありませんでした。

バインド時に要素が存在する場合は、次のようにします。

$('.element').on('click', function(){
});

省略形を使用することもできます:

$('.element').click(function(){
});

要素がその時点で存在しない場合、または新しい要素が追加される場合 (これは.live通常使用されていたものです)、「イベント委任」を使用する必要があります。

$(document).on('click', '.element', function(){
});

注: 常にではなく、最も近い静的要素にバインドする必要がありますdocument

于 2013-01-31T17:59:38.940 に答える
2

このlive()メソッドは廃止され、削除されました。を使用しon()ます。

于 2013-01-31T17:53:29.280 に答える
1

jquery 2.0バージョンを使用している場合は、migrate 1.0あまりにも取得する必要があります

これを参照してください:http://jsfiddle.net/CRYDV/1/

それ以外の場合は.on()、上記の回答で提案されているようにハンドラーを使用する必要があります。

于 2013-01-31T17:54:43.927 に答える