0

ホバー時に次のような継承されたイベントがあります。

$('#menu').on("hover", '#menu li', function() {    
//mouse over LI and look for A element for transition
$(this).find('img')
    .animate( { opacity:1 }, 200)
});

継承されたすべての要素に対して機能しますが、「mouseleave」イベントを継承させることはできません。追加した場合:

    $('#menu').on("hover", '#menu li', function() {    
    //mouse over LI and look for A element for transition
    $(this).find('img')
        .animate( { opacity:1 }, 200)
},
function() {
    $(this).find('img')
        .animate( { opacity:0.5 }, 200)
});

動作しません。ホバーオンリーブイベントではどのように機能しますか?

4

3 に答える 3

2

hover典型的なjavascriptイベントではないので、バインディングをmouseenterイベントに分割する必要がありますmouseleave

$('#menu').on("mouseenter", '#menu li', function() {    
    //mouse over LI and look for A element for transition
    $(this).find('img').animate( { opacity:1 }, 200)
});

$('#menu').on("mouseleave", '#menu li', function() {
    $(this).find('img').animate( { opacity:0.5 }, 200)
});

http://api.jquery.com/hover/を参照してください

于 2012-06-12T10:25:35.590 に答える
2
$("#menu").on('mouseenter','#menu li', function(){

    $(this).find('img')
        .animate( { opacity:1 }, 200)
     })
.on('mouseleave','#menu li', function(){
$(this).find('img')
        .animate( { opacity:0.5 }, 200) 

});
于 2012-06-12T10:32:48.303 に答える
0
$('#menu').on("mouseover", '#menu li', function() {    
    alert('mouse entered');
});

$('#menu').on("mouseleave", '#menu li', function() {    
   alert('mouse left');
});
于 2012-06-12T10:25:47.077 に答える