【问题标题】:Firing events on many DOM elements with javascript使用 javascript 在许多 DOM 元素上触发事件
【发布时间】:2012-05-08 22:52:36
【问题描述】:

我想知道是否可以在不同 DOM 元素(“li”、“a”、“input”等的 javascript 中同时触发多个事件(不仅仅是一个元素具有一种类型的事件)。 .) ,我正在使用函数 fireEvent(element , event) 只用一个元素和一种事件(例如 onchange)来完成这项工作:

function fireEvent(element,event) {
   if (document.createEvent) {
   // dispatch for firefox + others
   var evt = document.createEvent("HTMLEvents");
   evt.initEvent(event, true, true ); // event type,bubbling,cancelable
   return !element.dispatchEvent(evt);
   } else {
   // dispatch for IE
   var evt = document.createEventObject();
   return element.fireEvent('on'+event,evt)
}
}

如何使用此函数在许多 DOM 元素上触发许多事件
谢谢。

【问题讨论】:

  • 我想获取网页中所有事件处理程序的结果
  • 我想不出这个用例。

标签: javascript events javascript-events


【解决方案1】:

这可以用 jQuery 来完成。

$("elements").action1().action2()

拥有 queue:false 将同时触发所有操作。
不知道我是否正确理解了您的要求。

http://jsfiddle.net/t8mr7/1/ 所有 4 个动作都在同一个事件触发器上执行。

【讨论】:

  • 这是不正确的。 Javascript 线性执行,因此在任何给定时间只能执行一个函数。
  • jsfiddle.net/t8mr7/1 我刚刚写了这个小提琴。所有四个动作都在事件触发的同一时刻发生。
  • 您展示的是 jQuery 魔术,它使用某种排队系统来“绕过”Javascript 的线性。尽管如此,Javascript 在基础级别是线性的。
  • 假设我有类似的东西:
  • 如何使用 Jquery 触发 2 个元素 input 和 li 上的两个事件?
猜你喜欢
相关资源
最近更新 更多
热门标签