jquery中trigger()無法觸發(fā)hover事件的解決方法
今天做一個項目,遇到了一個問題,是以前沒有遇到過的,就此記上一筆。
1、trigger方法解釋
官方是這么解釋的:
Description: Execute all handlers and behaviors attached to the matched elements for the given event type.
用法:
.trigger( eventType [, extraParameters] )
其中eventType包含javascript內(nèi)置的事件、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');
無法觸發(fā)hover。但是:
var $search=$('#header .search'); $search.find('li').click(function() { alert(1); },function() { alert(2); }); $search.find('li').eq(0).trigger('click');
觸發(fā)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()代替。
以上所述就是本文的全部內(nèi)容了,希望大家能夠喜歡。
相關文章
基于Jquery的動態(tài)添加控件并取值的實現(xiàn)代碼
基于Jquery的動態(tài)添加控件并取值的實現(xiàn)代碼,需要的朋友可以參考下。2010-09-09基于?jquery-cxselect?實現(xiàn)下拉聯(lián)動效果功能實現(xiàn)
這篇文章主要介紹了基于?jquery-cxselect?實現(xiàn)下拉聯(lián)動效果,下拉聯(lián)動是基于query的一款聯(lián)動下拉菜單插件 jquery-cxselect實現(xiàn),本文通過實例代碼給大家介紹的非常詳細,需要的朋友可以參考下2023-02-02