如何在JavaScript中触发事件? [英] How to trigger event in JavaScript?

查看:119
本文介绍了如何在JavaScript中触发事件?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我已经使用 addEventListener 将事件附加到文本框。工作正常当我想通过其他功能以程序方式触发事件时,出现了问题。

I have attached an event to a text box using addEventListener. It works fine. My problem arose when I wanted to trigger the event programmatically from another function.

我该怎么做?

推荐答案

IE 8或更低版本的href =http://msdn.microsoft.com/en-us/library/ms536423%28VS.85%29.aspx =noreferrer> fireEvent ,而w3c的<大多数其他浏览器上的href =https://developer.mozilla.org/en/DOM/element.dispatchEvent =noreferrer> dispatchEvent 。要创建要触发的事件,您可以根据浏览器使用 createEvent createEventObject

You can use fireEvent on IE 8 or lower, and w3c's dispatchEvent on most other browsers. To create the event you want to fire, you can use either createEvent or createEventObject depending on the browser.

这是一个不言自明的代码片段(原型),在 dataavailable >元素:

Here is a self-explanatory piece of code (from prototype) that fires an event dataavailable on an element:

  var event; // The custom event that will be created

  if (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);
  }

这篇关于如何在JavaScript中触发事件?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆