我的jquery代码
时它不起作用 $("a").on("hover",function(){$(this).css("background","#ccc");},function(){$(this).css("background","#fff")});
但是在
时正在工作$("a").hover(function(){$(this).css("background","#ccc");},function(){$(this).css("background","#fff")});
如何使其与悬停
一起使用答案 0 :(得分:1)
如果.on()
悬停,它将显示为
$("a").on('hover', function(e) {
if(e.type =='mouseenter') {
// code for mouseenter
} else {
// code for mouseleave
}
});
但是对于.hover()
,mouseenter
接受两个函数,第一个接受mouseleave
。
$('a').hover(
// for mouseenter
function() {
},
// for mouseleave
function() {
}
);
因此,如果您想使用.on()
,那么您的代码将会:
$("a").on('hover', function(e) {
if(e.type =='mouseenter') {
// code for mouseenter
$(this).css("background","#ccc");
} else {
// code for mouseleave
$(this).css("background","#fff")
}
});
如果你想分别绑定mouseenter
和mouseleave
那么 @ThiefMaster 注释,那么你可以尝试:
$('a')
.mouseenter(function() {
$(this).css('background', '#ccc');
})
.mouseleave(function() {
$(this).css('background', '#fff');
});
或使用.on()
即可
$('a').on({
mouseenter: function() {
$(this).css('background', '#ccc');
},
mouseleave: function() {
$(this).css('background', '#fff');
}
});
答案 1 :(得分:1)
悬停是mouseenter
和mouseleave
事件的快捷方式。所以你可以绑定那些使用on
$("a").on({
mouseenter: function(){$(this).css("background","#ccc");},
mouseleave: function(){$(this).css("background","#fff");}
});
答案 2 :(得分:1)
这是一个实时demo
代码
$("a").on('hover', function(e) {
if(e.type =='mouseenter') {
// do something when mouse enter
alert("mouse enter");
} else {
// do something when mouse leave
alert("mouse leave");
}
});