純粋なCSSでそれを行うことができますが、ここに行きます:
$('tr').on('mouseenter mouseleave', 'td', function( e ){
$(this).fadeTo(500, e.type=="mouseenter" ? 1 : 0.85 );
});
ホバーの使用:
$('tr td').hover(function( e ){
$(this).fadeTo(500, e.type=="mouseenter" ? 1 : 0.85 );
});
ヒント:メソッド参照を使用する場合のよう
.on('hover'
に、イベントへの直接参照を個別にバインドするのではなく、イベントのみをバインドします。mouseenter mouseleave
$(selector).hover(handlerIn, handlerOut)
hover
再開します:
$('tr').on('hover', 'td', function( e ){
// no separated "mouseenter" and no "mouseleave" e.type reference here :(
// just "hover" event
});
$('tr').on('mouseenter mouseleave', 'td', function( e ){
// e.type are defined :)
});
$('tr').on('mouseenter', 'td', function( e ){
// function only for 'mouseenter' event
}).on('mouseleave', 'td', function(){
// function only for 'mouseleave' event
});
$('tr td').hover(function( e ){
// e.type "mouseenter" and "mouseleave" are in event reference :)
});
// $("tr td").hover(handlerIn, handlerOut)
$('tr td').hover(function(){
// Method default // e.type reference == "mouseenter"
}, function(){
// Method default // e.type reference == "mouseleave"
});
.on()
(動的に作成された要素)を使用してイベントを要素に委任する必要があるか、それとも.hover()
ニーズに適しているかによって異なります。
メソッドに関しては、.off()
それが何をするかを詳しく見ることができます: here
基本的に、ある時点で、.off() を使用するよりも要素へのイベント委譲をさらに削除したい場合:
$('#selector').on('click', 'button', function(){
// Function callback:
alert('I will alert only once cause of off()');
$('#selector').off('click', 'button');
});