27

私が見つけたすべての解決策は、.live()方法を使用することを提案しています。しかし、今日の時点で、それは非推奨になっています。

.hover()動的に作成されない「li」要素で完全に機能します。しかし、新しい「li」を追加.hover()すると、まったくトリガーされません。

誰かがこれを理解しましたか?

4

3 に答える 3

60

.on()「ホバー」イベントは、.on()jQuery doc pagesなどの委任されたイベント処理で非推奨になりました。

.on()代わりに、 mouseenter と mouseleave で委任されたイベント処理と、それぞれのイベント ハンドラーを使用する必要があります。

例えば:

$(document).on("mouseenter", "li", function() {
    // hover starts code here
});

$(document).on("mouseleave", "li", function() {
    // hover ends code here
});

li実際のコードでは、パフォーマンスを向上させるために、オブジェクトよりも動的タグにはるかに近い静的親オブジェクトを選択しますdocument

于 2013-02-19T05:23:06.863 に答える
1

これを試して

編集:Sryは非推奨のイベントを見逃しました

$(document).on("mouseenter", "li", function(){
       //Your code
});

http://api.jquery.com/live/

フィドル

于 2013-02-19T05:21:42.263 に答える
0

JQueryを使用 してくださいこれを試してください:

$(document).on('hover', 'li', function () {

});
于 2013-02-19T05:19:17.157 に答える