Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/466.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/82.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 无法识别jQuery悬停事件_Javascript_Jquery_Events - Fatal编程技术网

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版本是什么?