【问题标题】:How to create custom event in Javascript? [closed]如何在 Javascript 中创建自定义事件? [关闭]
【发布时间】:2016-05-18 17:40:24
【问题描述】:

我想制作自己的 Javascript 事件。有没有可能像点击、悬停一样创建我自己的事件。我想要一个真正有效的活动。就像创建一个在用户单击取消/删除按钮时触发的事件。

【问题讨论】:

  • 在 Stack Overflow 上提问之前,请先自己做一些研究。看看How to Ask

标签: javascript events dom-events


【解决方案1】:

https://developer.mozilla.org/en-US/docs/Web/API/CustomEventhttps://davidwalsh.name/customevent

var myElement = document.querySelector('p');

myElement.addEventListener("userLogin", function(e) {
  console.info("Event is: ", e);
  console.info("Custom data is: ", e.detail);
});

var myEvent = new CustomEvent("userLogin", {
  detail: {
    username: "davidwalsh"
  }
});

// Trigger it!
myElement.dispatchEvent(myEvent);
<p>Custom Event Element</p>

【讨论】:

  • 这个答案真的很有帮助。
【解决方案2】:

在 JavaScript 中创建一个事件监听器需要做两件事:(1) 选择一个元素来“绑定”一个监听器和 (2) 添加一个事件监听器:

// add event listener to table
var el = document.getElementById("#myElement");
el.addEventListener("click", function() {
  alert('element clicked!');
});

当 ID 为 myElement 的元素被单击时,此特定实现将运行该函数。

查看event listeners 上的 MDN 页面了解更多信息。


由于问题是关于“自定义”事件,您可以通过以下方式创建自定义 JavaScript 事件。

var event = new Event('build');

// Listen for the event.
var el = document.getElementById("#myElement");
el.addEventListener('build', function (e) { ... }, false);

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

您可以阅读更多关于自定义 JS 事件here

【讨论】:

  • 问题是关于创建自定义事件,而不是使用默认事件。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2014-06-14
  • 2015-10-01
  • 1970-01-01
  • 2010-10-23
  • 1970-01-01
  • 2012-07-24
  • 1970-01-01
相关资源
最近更新 更多