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

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

如何在JavaScript中觸發事件?

如何在JavaScript中觸發事件?

如何在JavaScript中觸發事件?我已將事件附加到文本框中addEventListener。它工作正常。當我想以編程方式從另一個函數觸發事件時,我的問題出現了。我該怎么做?
查看完整描述

4 回答

?
楊__羊羊

TA貢獻1943條經驗 獲得超7個贊

你可以在IE 8或更低版本上使用fireEvent,在大多數其他瀏覽器上使用w3c的dispatchEvent。要創建要觸發的事件,您可以使用createEventcreateEventObject依賴瀏覽器。

下面是代碼(從原型)一個不言自明一塊觸發一個事件dataavailable上的element

var event; // The custom event that will be createdif (document.createEvent) {
  event = document.createEvent("HTMLEvents");
  event.initEvent("dataavailable", true, true);} else {
  event = document.createEventObject();
  event.eventType = "dataavailable";}event.eventName = "dataavailable";if (document.createEvent) {
  element.dispatchEvent(event);} else {
  element.fireEvent("on" + event.eventType, event);}


查看完整回答
反對 回復 2019-05-28
?
MMTTMM

TA貢獻1869條經驗 獲得超4個贊

如果你使用jQuery,你可以簡單地做

$('#yourElement').trigger('customEventName', [arg0, arg1, ..., argN]);

并處理它

$('#yourElement').on('customEventName',
   function (objectEvent, [arg0, arg1, ..., argN]){
       alert ("customEventName");});

其中“[arg0,arg1,...,argN]”表示這些參數是可選的。


查看完整回答
反對 回復 2019-05-28
?
千巷貓影

TA貢獻1829條經驗 獲得超7個贊

如果您不想使用jQuery并且不特別關注向后兼容性,那么只需使用:

let element = document.getElementById(id);element.dispatchEvent(new Event("change")); // or whatever the event type might be

請參閱此處此處的文檔。

編輯:根據您的設置,您可能需要添加bubbles: true

let element = document.getElementById(id);element.dispatchEvent(new Event('change', { 'bubbles': true });


查看完整回答
反對 回復 2019-05-28
  • 4 回答
  • 0 關注
  • 967 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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