你可以在纯 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
像使用 Method reference 那样单独绑定对事件的直接引用$(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()
方法,您可以仔细查看它的作用:这里
基本上,如果在某些时候您想要删除任何比使用 .off() 的元素更进一步的事件委托:
$('#selector').on('click', 'button', function(){
// Function callback:
alert('I will alert only once cause of off()');
$('#selector').off('click', 'button');
});