触发单击后,下一个委托不起作用

本文关键字:不起作用 下一个 单击 | 更新日期: 2023-09-27 18:33:47

我的HTML表单中有这个脚本

<button type="button" id="addUploadFile">Add Document</button>         
<input type="file" id="hiddenOpenFile" name="hiddenOpenFile" style="visibility:hidden;" />
<button type="button" id="button2">test</button>

和 JavaScript 脚本在就绪函数

$("#addUploadFile").live('click', function () {
      $('#hiddenOpenFile').trigger('click');
});
$("#hiddenOpenFile").live('change', function (event) {  
     alert(1);   
     $("#addbutton2").trigger('click');
});

$("#addbutton2").live('click', function () {
      alert(2)
});

问题是,当我选择任何文件时,互联网探索警报(2)没有显示。它在任何其他浏览器上都运行良好。

触发单击后,下一个委托不起作用

您缺少分号。

尝试:

 alert(2);

您应该将添加按钮2更改为按钮2。没有这个,它甚至不会在Chrome中运行。您正在触发的单击事件似乎没有在 IE 中触发。使用自定义事件应该可以修复它。例如:

  $("#button2").trigger('gogogo');

然后绑定到"gogogo":

  $("#button2").on('gogogo', function () {
    alert(2);
  });

看到这个小提琴:http://jsfiddle.net/UfRUa/3/

您应该将第二个按钮 ID 从 button2 更改为 addbutton2文件上传器弹出apears,点击添加上传文件按钮后。选择文件并关闭弹出窗口。?在这种情况下,隐藏的OpenFile的更改事件将触发,之后addbutton2的单击事件

它工作正常:

<html>
<head>
<script src="../libs/jquery/1.4.2/jquery.min.js"></script>
</head>
<body>
<button type="button" id="addUploadFile">Add Document</button>         
<input type="file" id="hiddenOpenFile" name="hiddenOpenFile" style="visibility:hidden;" />
<button type="button" id="addbutton2">test</button>
<script>
    $("#addUploadFile").live('click', function () {
          $('#hiddenOpenFile').trigger('click');
    });
    $("#hiddenOpenFile").live('change', function (event) {  
         alert(1);   
         $("#addbutton2").trigger('click');
    });

    $("#addbutton2").live('click', function () {
          alert(2);
    });
</script>
</body>
</html>

上级:

据我所知,$.live() 不支持 IE 中的"更改"事件:

阅读文档 http://docs.jquery.com/Events/live 的注释

尝试改用实时查询?