事件不适用于html5对象标记

Pav*_*cki 6 html javascript jquery html5 javascript-events

似乎触发/在jquery事件上标准和自定义都不适用于对象标记.

这并不起作用:

var $test = $("<object>"); 
$test.on("test", function (){
  console.log("jquery test handler");
});
$test.trigger("test");
Run Code Online (Sandbox Code Playgroud)

虽然它适用于其他html标签(尝试div,视频等).

Vanilla js解决方案的工作原理:

var test = document.createElement("object");
test.addEventListener("testV", function(e) {
  console.log("vanilla test handler");
 });
var event = new CustomEvent("testV");
test.dispatchEvent(event);
Run Code Online (Sandbox Code Playgroud)

jQuery ver.1.11.1
测试:http://codepen.io/anon/pen/dPGoJg


问题:

  1. 我只有一个有这个错误的人还是我做错了什么?
  2. 这是一个jQuery错误还是预期的行为?
  3. 任何变通方法(特别是除了使用其他元素之外的自定义事件)?

Fin*_*ney 1

您的第一个示例不起作用,因为该元素尚未添加到 DOM 中。

var $test = $("body").append("<object>"); 
$test.on("test", function (){
  console.log("jquery test handler");
});
$test.trigger("test");
Run Code Online (Sandbox Code Playgroud)

您可以使用替代的 JQuery 函数来添加元素。