js創(chuàng)建和觸發(fā)自定義的events事件

 <form>
        <textarea></textarea>
      </form>
 <script>
          const form = document.querySelector('form');
const textarea = document.querySelector('textarea');

// Create a new event, allow bubbling, and provide any data you want to pass to the "details" property
const eventAwesome = new CustomEvent('awesome', {//自定義事件,并且冒泡
  bubbles: true,
  detail: { text: () => textarea.value }//用detail屬性來傳值
});

// The form element listens for the custom "awesome" event and then consoles the output of the passed text() method
form.addEventListener('awesome', e => console.log(e.detail.text()));

// As the user types, the textarea inside the form dispatches/triggers the event to fire, and uses itself as the starting point
textarea.addEventListener('input', e => e.target.dispatchEvent(eventAwesome));
      </script>

標(biāo)準(zhǔn)的創(chuàng)建event方法:

var event = new Event('build');

// Listen for the event.
elem.addEventListener('build', function (e) { ... }, false);

// Dispatch the event.
elem.dispatchEvent(event);

當(dāng)需要自定義數(shù)據(jù)的創(chuàng)建event時(shí),使用CustomEvent():
var event = new CustomEvent('build', { 'detail': elem.dataset.time });
其中屬性還有bubbles,cancelable等等
具體可以參照MDN介紹https://developer.mozilla.org/zh-CN/docs/Web/API/CustomEvent

過時(shí)的創(chuàng)建event方法:

var event = document.createEvent('Event');
// Define that the event name is 'build'.
event.initEvent('build', true, true);
// The form element listens for the custom "awesome" event and then consoles the output of the passed text() method
form.addEventListener('build', e => console.log(e.target.value));

// As the user types, the textarea inside the form dispatches/triggers the event to fire, and uses itself as the starting point
textarea.addEventListener('input', e => e.target.dispatchEvent(event));
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容