0
編輯:這是一個Firefox中的錯誤,無法直接編輯Firefox而無法解決,這是我不想做的。我認爲這個問題是爲了向其他人詢問他而解決的。SVG <use>元素不繼承Firefox中的事件處理程序?
我想用SVG創建一個基於像素的繪圖程序。我在<defs>
的內部初始化了一些<polygon>
s的事件處理程序,然後用<use>
s複製了很多次以製作畫布,並且它在Chrome中正常工作。
但無論我是否指定.onclick
屬性或使用.addEventListener
,我的<use>
都不會在Firefox中註冊任何內容。當我爲此研究解決方案時,發現另一個主題上,可能還有技術上的相關現象:使用.cloneNode
複製的<use>
也不保留事件偵聽器。我可能爲我的每個<use>
元素分配事件偵聽器,但在我看來,這是最不理想的解決方案。
我不確定這是[bug 265895](https://bugzilla.mozilla.org/show_bug.cgi?id=265895)還是[bug 575470](https://bugzilla.mozilla.org/show_bug的CGI?ID = 575470)。您唯一的選擇是下載Firefox的源代碼並修復錯誤或支付其他人這樣做。 –
@RobertLongson我害怕那樣。我想我只會使用次優解決方案。 – stellatedHexahedron