我在页面中有5个元素。
我使用类名$('.class')
我正在尝试为所选元素执行一个功能,而不管事件(点击或悬停或水)。
例如:
$('.class').hover(function(){definition1});
$('.class').click(function(){definition1});
我不希望有2个单独的事件,如上面的2,而是我想要执行该功能,无论其悬停或点击事件。
答案 0 :(得分:3)
$('.class').bind('click mouseenter', function() {
// Go nuts.
});
(如果使用jQuery> = 1.7,则将bind()
与on()
交换。)
请记住,hover()
的第二个参数是针对mouseleave
事件的,您没有在此处写过任何内容。
如果你想覆盖大多数事件,请传入'模糊焦点焦点焦点加载调整大小滚动卸载单击dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup error'作为第一个参数。
你也可以通过迭代以on
开头的属性来尝试用代码检测它们,但这对我来说听起来太脆弱了。
答案 1 :(得分:2)
要将绑定多个事件绑定到jQuery 1.7及更高版本中的一个元素,您可以通过用空格分隔事件名称来执行以下操作:
jQuery('.class').on('click hover mousenter mouseleave', function(event){
// do what you need to do
});
,您可以在jsfiddle中看到。
但是:要小心,因为你可以轻松点击事件(超过必要和绰绰有余)。通过绑定这么多事件,可能会不必要地调用某些事件(如上例所示,当鼠标光标离开它悬停的元素时,代码将被触发两次)。
答案 2 :(得分:0)
如果你不想在没有任何事件的情况下执行某项功能,请将其放入
$(function(){
function test(){definition1}
});
然后在html中
<body onload="test();">