我在页面中有5个元素。 我已经选择他们使用类名称$('.class')
jquery - 对任何事件执行效果
我想执行一个函数为那些选定的元素,而不考虑事件(点击或悬停或watever)。
例如:
$('.class').hover(function(){definition1});
$('.class').click(function(){definition1});
我不想具有2个独立的事件如上述图2,代替我想不论其悬停或点击事件要执行的功能。
我在页面中有5个元素。 我已经选择他们使用类名称$('.class')
jquery - 对任何事件执行效果
我想执行一个函数为那些选定的元素,而不考虑事件(点击或悬停或watever)。
例如:
$('.class').hover(function(){definition1});
$('.class').click(function(){definition1});
我不想具有2个独立的事件如上述图2,代替我想不论其悬停或点击事件要执行的功能。
$('.class').bind('click mouseenter', function() {
// Go nuts.
});
(如果使用jQuery> = 1.7,交换bind()
与on()
。)
记住hover()
的第二个参数是mouseleave
的事件,你有没有在这里写东西。
如果要覆盖大多数事件,请传递'模糊焦点focusin focusout载入调整大小滚动卸载点击dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change选择提交keydown keypress keyup error'作为第一个参数。
您也可以尝试通过遍历以on
开头的属性来检测它们,但它对我来说听起来太飘忽不定。
如果你不想给exec的功能没有任何事件把它放在
$(function(){
function test(){definition1}
});
然后在HTML
<body onload="test();">
我不认为这是OP的想法。 –
是的。我会说我想要一个类似的。这里缺少的一件事是,我想选择元素并执行一个没有任何事件的操作。 所以,像... $('。class')。function(){} –
我错误的理解了这个问题 – tmjam
要绑定多个事件一个元素的jQuery 1.7及更高版本您可以通过以空格分隔事件名称来执行以下操作:
jQuery('.class').on('click hover mousenter mouseleave', function(event){
// do what you need to do
});
你可以在jsfiddle中看到。
但是:要小心,因为您可以轻松地将事件触发太多时间(超过必要且绰绰有余)。通过绑定如此多的事件,可能会不必要地调用某些事件(如上例所示,当鼠标光标离开元素时,代码将被触发两次)。
除了日志事件之外,您还可以在每个可能的事件上做什么?你真的想在每一个mousemove事件上运行javascript吗?我建议你分享你真正想要完成的事情,这样我们可以提供一个更合适的答案。 – jfriend00