0

基本的に、プラグインを実行しているアイテムの<li>に少し問題があります。これにより、データタグIDがdata-*属性に動的に追加されます。

これは、何らかの理由で、すべてのアイテムが動的に追加され、イベントが動的にアタッチされていないため、同じリスト要素で実行している別の関数が実行されないことを意味します。

1)ページのレンダリング2)DOMの読み込み中に「other」関数を使用できます3)ページの読み込み中にプラグインコードを使用できますが、「other」関数(下からホバーボックスのタイトルを追加します)アニメートアップ)は動作しなくなりました。したがって、基本的には、他のプラグインが起動するまで機能します。

これまでの私の調査結果は次のとおりです。

jQuery'on'を使用して、動的に編集/作成されたアイテム(#stage liアイテム)にイベントを動的にアタッチできます。これを使用する:

$('body').on('hover', '#stage li', function() {
    // Do dynamic stuff
}

しかし、これは1回のホバーでのみ機能し、本当に必要なmouseenter/mouseoutソリューションを提供しません。誰かがこれを達成する方法について何かアイデアがありますか?

4

2 に答える 2

3

うん:

$('#stage').on({
    mouseenter: function(){
        // do mouseentery shtuff
    },
    mouseleave: function(){
        // mouse bye bye
    }
},'li');

.on()イベントバインディングをからbodyに変更し、そこから#stageフィルタリングするように変更しましliた。これは、より高速になるためです。

この方法(XMLの方法)でそれを行うことのクールな点は、簡単にさらに多くのものを追加できることです... mousemove関数を追加することは、同じアイテム内のその下にある別のコンマと関数であり、すべて1つの.onに含まれています()バインディング。:)

于 2013-02-26T21:35:12.330 に答える
0

これがあなたが探しているものです。また、jQuery 1.9以降、ホバーはサポートされなくなったことに注意してください。

$('mydiv').on('mouseenter', '#stage li', function( event ) {
    // do something
}).on('mouseleave', '#stage li', function( event ) {
    // do something different
});
于 2013-02-26T21:35:47.047 に答える