Dường như trigger/on jquery events cả standard và custom đều không hoạt động trên thẻ object.Sự kiện không hoạt động trên thẻ đối tượng html5
này không hoạt động:
var $test = $("<object>");
$test.on("test", function(){
console.log("jquery test handler");
});
$test.trigger("test");
Trong khi nó hoạt động với các thẻ khác html (thử div, video, vv).
Vanilla js giải pháp hoạt động:
var test = document.createElement("object");
test.addEventListener("testV", function(e) {
console.log("vanilla test handler");
});
var event = new CustomEvent("testV");
test.dispatchEvent(event);
jQuery ver. 1.11.1
Các xét nghiệm: http://codepen.io/anon/pen/dPGoJg
Câu hỏi:
- Tôi chỉ có một người có lỗi này hay tôi làm điều gì sai?
- Đây có phải là lỗi jQuery hay hành vi được mong đợi không?
- Bất kỳ cách giải quyết nào (đặc biệt là cho các sự kiện tùy chỉnh ngoài việc sử dụng phần tử khác)?
Điều này thực sự hiệu quả và có thể được coi là giải pháp thay thế. Workaround vì ví dụ đầu tiên của tôi làm việc với các thẻ html khác, nhưng không phải là đối tượng. Ngoài ra, công trình này hoạt động: 'var $ test = $ ("