当前位置: 代码迷 >> JavaScript >> Javascript-触发动作或事件?
  详细解决方案

Javascript-触发动作或事件?

热度:86   发布时间:2023-06-05 11:53:22.0

我想在给定元素上触发任何可能的用户操作,例如: click, focus, mouseup, mousedown, keyup, keydown, etc...

是这样的:

element.onclick();
element.onfocus();
element.onsubmit();
element.onmouseover();
element.onkeyup();
element.onkeydown();

还是有更好的办法实现这一目标?

谢谢

如果要模拟用户生成的鼠标事件(如单击),则应注意以下内容:

<div id="someID" onclick="alert('a');">
  test
</div>
<script>
var theElement = document.getElementById('someID')
 , triggerEvent = function triggerEvent(event, element) {
     var evObj = document.createEvent('MouseEvents');
     evObj.initEvent(event, true, true);
     element.dispatchEvent(evObj);
 };

 triggerEvent('click', theElement);
</script>

基本上,您从元素生成一个事件,然后让处理程序处理该事件。 是事件列表。

希望这会有所帮助。

在可能是函数的元素上有各种onevent属性,您可以调用它们,但是这样做时,您将在DOM事件处理系统周围进行路由。 您必须自己将适当的Event对象传递给函数,并且它们不会自动冒泡到父元素。

我不确定如果使用addEventListener设置了元素的事件,而您尝试直接调用其onevent函数,会发生什么。

因此,继续使用HTMLElement.prototype.clickHTMLElement.prototype.focus类的方法。 他们为您处理所有这些。

  相关解决方案