最新下载
热门教程
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
jQuery中trigger()触发hover事件疑问
时间:2015-04-20 编辑:简简单单 来源:一聚教程网
今天做一个项目,遇到了一个问题,是以前没有遇到过的,就此记上一笔。
1、trigger方法解释
官方是这么解释的:
Description: Execute all handlers and behaviors attached to the matched elements for the given event type.
用法:
.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()代替。
相关文章
- 完美解决jQuery的hover事件在IE中不停闪动的问题 03-27
- JQUERY中ON方法(事件委派机制)详解 08-20
- jQuery 事件 scroll() 方法的使用教程 11-19
- Jquery为DIV添加click事件的例子 07-01
- jQuery中hover事件使用方法详解 04-11
- jquery中事件委派代码分析 08-05