Tôi không biết tại sao, nhưng nó hoạt động trên Chrome và Safari, không có trong Mozilla. Tôi có thẻ html object
tải tệp svg. Tệp chứa .s0
lớp học. tôi muốn để xử lý sự kiện khi bạn click vào lớp đó.Mozilla Firefox doen't tải các đối tượng SVG trong addEventListener ('load'
Ai biết được những gì là sai? sry, jsfiddle không hiển thị object
khi tôi đã cố gắng để dán mã đó.
<object data="jo.svg" type="image/svg+xml" id="obj"></object>
mã
$(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);
}
});
});
cảm ơn bạn đã trả lời ur. Tôi đã tìm thấy điều kỳ lạ: không mã ur trong phiên bản jquery làm việc nếu bạn thay đổi v2.1.4 để v1? ví dụ: ''. Tôi không biết tại sao, nhưng đối với v1 nó không hoạt động. – sirjay
xác nhận rằng trong phiên bản cũ không hoạt động (không biết tại sao), nhưng bạn có thể sử dụng sự kiện gốc: '$ obj.get (0) .onload = function() { console.log ('OK'); }; ' – cetver