Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/89.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 事件在html5对象标记上不起作用_Javascript_Jquery_Html_Javascript Events - Fatal编程技术网

Javascript 事件在html5对象标记上不起作用

Javascript 事件在html5对象标记上不起作用,javascript,jquery,html,javascript-events,Javascript,Jquery,Html,Javascript Events,标准和定制的jquery事件上的触发器/事件似乎在对象标记上都不起作用 这不起作用: var $test = $("<object>"); $test.on("test", function (){ console.log("jquery test handler"); }); $test.trigger("test"); jQuery版本。1.11.1 测试: 问题: var $test = $("<object>"); $test.on("test", f

标准和定制的jquery事件上的触发器/事件似乎在对象标记上都不起作用

这不起作用:

var $test = $("<object>"); 
$test.on("test", function (){
  console.log("jquery test handler");
});
$test.trigger("test");
jQuery版本。1.11.1
测试:


问题

var $test = $("<object>"); 
$test.on("test", function (){
  console.log("jquery test handler");
});
$test.trigger("test");
  • 我是唯一一个有这种缺陷的人还是我做错了什么
  • 这是jQuery错误还是预期的行为
  • 有什么变通方法(特别是对于使用其他元素之外的自定义事件)

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

    var $test = $("body").append("<object>"); 
    $test.on("test", function (){
      console.log("jquery test handler");
    });
    $test.trigger("test");
    
    var$test=$(“正文”).append(“”);
    $test.on(“测试”,函数(){
    log(“jquery测试处理程序”);
    });
    $test.trigger(“测试”);
    
    您可以使用其他JQuery函数添加元素。

    更新:
    第一篇文章是完全错误的,但是这似乎对点击对象标签有效

    <script src="//code.jquery.com/jquery-1.11.0.min.js"></script>
    
    <script>
    $(document).on('click', 'object', function(event) {
        console.log("jquery test handler");});
    </script>
    <object width="400" height="400">Object</object>
    

    这实际上是可行的,可能会被视为解决办法。解决方法,因为我的第一个示例适用于其他html标记,但不适用于对象。此外,这是有效的:
    var$test=$(“”)$test=$(“body”).append($test)而这不是:
    var$test=$(“”)$(“正文”)。附加($test)这很奇怪
    
    <script src="//code.jquery.com/jquery-1.11.0.min.js"></script>
    
    <object>Object</object>
    <script>
    $(document).on('test', 'object', function(event) {
        console.log("jquery test handler");});
    $('object').trigger('test');
    </script>