[英]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.click
和HTMLElement.prototype.focus
類的方法。 他們為您處理所有這些。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.