就是如何用腳本觸發一個元素的某個事件,而不是人為的。請不要復制jquery的源代碼,那對我沒有任何幫助。我剛看了,這個方法的代碼太復雜,除非對jquery整個框架都了解才能看懂。謝謝你們的回答,直接調用element的方法不是很有用,有的瀏覽器不支持。我仔細翻看了xml dom的api文檔,覺得下面的方法才是比較符合規范的,瀏覽器支持較好:var event = document.createEvent("MouseEvents");//onchange事件要用HTMLEventsevent.initEvent("click",true,true);//三個參數分別對應event的 type 屬性、bubbles 屬性和 cancelable 屬性element.dispatchEvent(event);//給元素分派事件
3 回答

浮云間
TA貢獻1829條經驗 獲得超4個贊
// 原生的js觸發click事件 elem.click(); // Jquery也用相同的方式 // Jquery trigger的代碼片段 trigger: function (event, data, elem, onlyHandlers) { // ... // ... try { // 這里是觸發事件的代碼 elem[type](); } catch (e) { // IE<9 dies on focus/blur to hidden element (#1486,#12518) // only reproducible on winXP IE8 native, not IE9 in IE8 mode } // ... // ... } return event.result; } |

holdtom
TA貢獻1805條經驗 獲得超10個贊
//原生js trigger方法
function trigger(elem,event){
if(document.all) {
elem.event();
} else {
var evt = document.createEvent("Events"); //還有onchange則是HtmlEvents
evt.initEvent(event,true,true);
elem.dispatchEvent(evt);
};
}

慕后森
TA貢獻1802條經驗 獲得超5個贊
// 直接獲取element綁定的方法調用就可以了 var triggle = function (element, method) { var func = element[method]; return func(); } window.onload= function () { triggle(document.getElementById( "abc" ), "onclick" ); }; |
添加回答
舉報
0/150
提交
取消