我正在更改我的代码以与 jQuery 1.8 兼容,但我被这个不起作用的 hover
困住了。当我用 click
使用同样的东西时,它起作用了。这是我的代码,谁能告诉我哪里出错了?
$(document).on('hover', '.top-level', function (event) {
$(this).find('.actionfcnt').show();
$(this).find('.dropfcnt').show();
}, function () {
$(this).find('.dropfcnt').hide('blind', function () {
$('.actionfcnt').hide();
});
});
最佳答案
自 jQuery 1.8 起已弃用:名称“hover”用作字符串“mouseenter mouseleave”的简写。它为这两个事件附加一个事件处理程序,处理程序必须检查 event.type 以确定事件是 mouseenter 还是 mouseleave。 不要将“悬停”伪事件名称与 .hover() 方法混淆,后者接受一个或两个函数。
来源:http://api.jquery.com/on/#additional-notes
这几乎说明了一切,你不能为此使用“悬停”:
$(document).on('mouseenter','.top-level', function (event) {
$( this ).find('.actionfcnt').show();
$( this ).find('.dropfcnt').show();
}).on('mouseleave','.top-level', function(){
$( this ).find('.dropfcnt').hide('blind', function(){
$('.actionfcnt').hide();
});
});
关于javascript - 悬停时的 Jquery 无法正常工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12260235/