簡體   English   中英

Firefox擴展程序無法覆蓋元素事件

[英]Firefox Extension cannot override element events

我在嘗試覆蓋表單元素的onsubmit事件時遇到麻煩。 我沒有用addEventListener添加偵聽器的問題,但是對於我的特殊情況,我需要替換 onsubmit,但是由於某種原因,它給了我這個錯誤:

Error: Component is not available = NS_ERROR_NOT_AVAILABLE

我的代碼就是這樣:

gBrowser.contentDocument.getElementById("theform").onsubmit = function() {
   return false;
};

本質上,我想阻止表單提交,但是此代碼失敗並引發上述錯誤。 使用addEventListener返回false似乎不會阻止表單提交。

謝謝。

出於安全考慮,擴展中的getElementById返回的對象是DOM元素周圍的XPCNativeWrapper 這不是元素本身。 這導致一些重要的限制。 此處有更多詳細信息:

在DOM節點或Window對象的XPCNativeWrapper上分配或讀取on *屬性將引發異常。 (如果以前使用“ return false;”,則使用addEventListener,並在處理程序中使用“ event.preventDefault();”。)

暫無
暫無

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

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