簡體   English   中英

Javascript-觸發動作或事件?

[英]Javascript - trigger actions or events?

我想在給定元素上觸發任何可能的用戶操作,例如: 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類的方法。 他們為您處理所有這些。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM