jquery中trigger()无法触发hover事件的解决方法
今天做一个项目,遇到了一个问题,是以前没有遇到过的,就此记上一笔。
1、trigger方法解释
官方是这么解释的:
Description:Executeallhandlersandbehaviorsattachedtothematchedelementsforthegiveneventtype.
用法:
.trigger(eventType[,extraParameters])
其中eventType包含javascript内置的事件、jQuery增加的事件和自定义事件。例如:
$('#foo').bind('click',function()
{
alert($(this).text());
});
$('#foo').trigger('click');
$('#foo').bind('custom',function(event,param1,param2)
{
alert(param1+"\n"+param2);
});
$('#foo').trigger('custom',['Custom','Event']);
很强大,常常用于页面初始化的时候使用。
2、trigger遇到hover
var$search=$('#header.search');
$search.find('li').hover(function()
{
alert(1);
},function()
{
alert(2);
});
$search.find('li').eq(0).trigger('hover');
无法触发hover。但是:
var$search=$('#header.search');
$search.find('li').click(function()
{
alert(1);
},function()
{
alert(2);
});
$search.find('li').eq(0).trigger('click');
触发click正常!
解决办法:
var$search=$('#header.search');
$search.find('li').hover(function()
{
alert(1);
},function()
{
alert(2);
});
$search.find('li').eq(0).trigger('mouseenter');//hover修改为mouseenter/mouseleave/mouseover/mouseout
同样的情况存在于jQuery.live(),不过live不推荐在1.7以后版本使用,使用on()代替。
以上所述就是本文的全部内容了,希望大家能够喜欢。
热门推荐
7 简短的二胎祝福语
10 简短霸气女儿生日 祝福语
11 祝福语高考小众诗句简短
12 元旦祝福语20秒简短
13 老师过年祝福语大全 简短
14 一生祝福语简短
15 产检祝福语简短霸气
16 朋友店开张祝福语简短
17 生日爱情祝福语大全简短
18 朋友女儿生日祝福语 简短