मैं पता नहीं क्यों, लेकिन यह क्रोम और सफारी पर काम करता है, मोज़िला में नहीं। मैं object
HTML टैग कि svg फाइल लोड कर सकते है। फ़ाइल .s0
शामिल कक्षाएं। मैं घटना को संभालने के लिए जब आप उस वर्ग पर क्लिक करें।मोजिला फायरफॉक्स addEventListener में लोड एसवीजी वस्तुओं doen't ('लोड'
कौन जानता है कि क्या गलत है? 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);
}
});
});
आपके उत्तर के लिए धन्यवाद। मुझे अजीब चीज मिली है: क्या आप jquery संस्करण में अपना कोड काम करते हैं यदि आप v2.1.4 को v1 में बदलते हैं? उदाहरण: ''। मुझे नहीं पता क्यों, लेकिन v1 के लिए यह काम नहीं करता है। – sirjay
पुष्टि करें कि पुराने संस्करण में काम नहीं कर रहा है (क्यों नहीं पता), लेकिन आप मूल घटना का उपयोग कर सकते हैं: '$ obj.get (0) .onload = function() { console.log ('OK'); }; ' – cetver