理由はわかりませんが、MozillaではなくChromeやSafariで動作します。 svgファイルをロードするhtmlタグがあります。クラス。私はあなたがそのクラスをクリックしたときに、イベントを処理したい。Mozilla FirefoxはaddEventListenerのSVGオブジェクトを読み込みません( 'load'
誰が間違っている知っている?SRY私はそこにコードを貼り付けしようとしたとき、jsfiddleはobject
は表示されません。
<object data="jo.svg" type="image/svg+xml" id="obj"></object>
コード
$(function() {
var a = document.getElementById('obj');
a.addEventListener("load", function() {
// !!!
console.log('this line is not reachable in Mozilla or reached before svg loaded');
var svgDoc = a.contentDocument;
var els = svgDoc.querySelectorAll(".s0");
for (var i = 0, length = els.length; i < length; i++) {
els[i].addEventListener("click", function() {
alert('clicked');
}, false);
}
});
});
お返事ありがとうございます。私は奇妙なことを発見しました:v2.1.4をv1に変更するとjQueryバージョンの作業でURコードが実行されますか?例: ''。理由は分かりませんが、v1ではうまくいきません。 – sirjay
古いバージョンでは動作していないことを確認します(理由はわかりませんが)ネイティブイベントを使用することができます: '$ obj.get(0).onload = function(){ console.log( 'OK'); }; ' – cetver