Wygląda na to, że wyzwalacze/zdarzenia jquery zarówno standardowe, jak i niestandardowe nie działają na znaczniku object.Zdarzenia nie działają na znaczniku obiektu html5
To nie nie działać:
var $test = $("<object>");
$test.on("test", function(){
console.log("jquery test handler");
});
$test.trigger("test");
Choć współpracuje z innymi znacznikami html (próbował div, wideo, etc.).
rozwiązanie Vanilla js działa:
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
Testy: http://codepen.io/anon/pen/dPGoJg
Pytania:
- jestem jedyną osobą, która ma ten błąd, albo robię coś źle?
- Czy jest to błąd jQuery, czy jest to oczekiwane zachowanie?
- Jakiekolwiek obejścia (szczególnie w przypadku zdarzeń niestandardowych poza użyciem innego elementu)?
To faktycznie działa i może być uznane za obejście tego problemu. Obejście problemu, ponieważ mój pierwszy przykład działa z innymi znacznikami html, ale nie z obiektem. Dodatkowo działa to: 'var $ test = $ ("