亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

你好,請問用原生的js怎么實現和trigger方法一樣的功能?

你好,請問用原生的js怎么實現和trigger方法一樣的功能?

喵喵時光機 2022-05-19 19:15:11
就是如何用腳本觸發一個元素的某個事件,而不是人為的。請不要復制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;}


查看完整回答
反對 回復 2022-05-23
?
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);
};
}


查看完整回答
反對 回復 2022-05-23
?
慕后森

TA貢獻1802條經驗 獲得超5個贊


            // 直接獲取element綁定的方法調用就可以了            var triggle = function(element, method) {                var func = element[method];                return func();            }             window.onload=function() {                triggle(document.getElementById("abc"), "onclick");            };

 


查看完整回答
反對 回復 2022-05-23
  • 3 回答
  • 0 關注
  • 272 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號