1
我有這樣的代碼如何懸停功能轉換與jQuery中
$("td").hover(function(){
$(this).find('a.btn').show();
}, function(){
$(this).find('a.btn').hide();
})
我如何轉換這個功能對新的DOM元素與on
我有這樣的代碼如何懸停功能轉換與jQuery中
$("td").hover(function(){
$(this).find('a.btn').show();
}, function(){
$(this).find('a.btn').hide();
})
我如何轉換這個功能對新的DOM元素與on
$("#mytable").on('hover', 'td', function(){
$(this).find('a.btn').show();
}, function(){
$(this).find('a.btn').hide();
});
但使用'hover'
僞事件作爲替代傳球'mouseenter mouseleave'
已棄用,因此您應該直接使用mouseenter
和mouseleave
。
$("#mytable").on('mouseenter', 'td', function(){
$(this).find('a.btn').show();
})
.on('mouseleave', 'td', function(){
$(this).find('a.btn').hide();
});
或者這樣:
或更短這樣的:
$("#mytable").on('mouseenter mouseleave', 'td', function(e){
$(this).find('a.btn').toggle(e.type === 'mouseenter');
});
我會做這樣的:
$('td').on({
mouseenter: function() { $(this).find('a.btn').show() }
mouseleave: function() { $(this).find('a.btn').hide() }
})
編輯:這不是CLE如果您在這種情況下需要授權,請查看其他答案。
'hover'已棄用? – Ian
@ianpgall:根據'.on()'的文檔:*「不贊成使用jQuery 1.8:名稱」hover「用作字符串」mouseenter mouseleave「的簡寫形式。」*然後它會繼續描述傳遞一個單一的事件處理程序,如此真實的形式,如果只是傳遞一個單獨的處理程序'hover''棄用時,文檔似乎不清楚。 –
我是個笨蛋,我正在考慮主要的'.hover'方法,而不是用'.on'。那麼至少知道這很好! – Ian