Javascript 无法识别jQuery悬停事件
下面的代码有效-Javascript 无法识别jQuery悬停事件,javascript,jquery,events,Javascript,Jquery,Events,下面的代码有效- $("#x").hover(function() { alert("hovered"); }); 但是下面的代码没有。请解释一下原因 $("#x").on("hover", function() { alert("hovered"); }); 注-#x是一个按钮元素。上述代码适用于jQuery中的“单击”事件: 在jQuery 1.8中被弃用,在1.9中被删除:名称“hover”用作字符串“mouseenter mouseleave”的缩写。它为这两个事件附加一个事件处理程
$("#x").hover(function() {
alert("hovered");
});
但是下面的代码没有。请解释一下原因
$("#x").on("hover", function() {
alert("hovered");
});
注-#x是一个按钮元素。上述代码适用于jQuery中的“单击”事件:
在jQuery 1.8中被弃用,在1.9中被删除:名称“hover”
用作字符串“mouseenter mouseleave”
的缩写。它为这两个事件附加一个事件处理程序,处理程序必须检查event。键入
以确定事件是mouseenter
还是mouseleave
。不要将“hover”
伪事件名称与接受一个或两个函数的.hover()
方法混淆
您可以将对象传递给方法上的:
$("#x").on({
mouseenter: function() {
// ...
},
mouseleave: function() {
// ...
}
});
如果您想委派活动:
$('#aStaticParentOfX').on({
mouseenter: function() {
// ...
},
mouseleave: function() {
// ...
}
}, "#x");
如果您的版本低于1.9,那么即使是.live()
也会从jQuery 1.9中删除
$("#x").live("hover", function() {
alert("hovered");
});
试试这个
$("#x").on("mouseover", function () {
//wrire your code here
});
如果通过javascript填充元素,请使用以下命令。它是不推荐使用的jQuery.live的替代品
$("body").on("mouseover","#x", function () {
//wrire your code here
});
首先查看这个js fiddle:jQuery hover需要2个函数作为参数更多信息:
$('#x')。悬停(
函数(){
//您的“mouseenter”事件句柄
},函数(){
//您的“mouseleave”事件句柄
});
第二:如果代码在同一个元素(#x)上运行,则可以简单地使用CSS hover伪类
#x:悬停{
//当“mouseenter”时,此项将添加到#x,当“mouseleave”时,此项将被删除
背景色:红色;
}
您使用的是不推荐使用的jQuery数据库您使用的jQuery版本是什么?