0

次のコードがあります。

$('input.test2').live('keyup', function (e) {
});

$('input.test1').live('change', function (e) {
});

test1 と test2 は同じ入力要素のクラスですが、test1 のみがトリガーされます。

なぜこれが起こっているのか誰かが私に説明できますか? (IE10でのみ発生します)。false または e.stopPropagation() を返そうとしましたが、何も変わりませんでした。

4

1 に答える 1

0

「ライブ」の代わりに「オン」を使用してみてください

$('input.test1').on('change', function (e) {
});

$('input.test2').on('keyup', function (e) {
});

jQuery ドキュメントに従って:
http://api.jquery.com/live/

「jQuery 1.7 の時点で、.live() メソッドは非推奨です。.on() を使用してイベント ハンドラーをアタッチします。古いバージョンの jQuery のユーザーは、.live() よりも .delegate() を使用する必要があります。」

于 2013-05-08T23:51:26.717 に答える