0

所以,这个问题有两个重要的细节:

  1. 它在文档就绪的回调函数的范围内
  2. 事件附加到的元素实际上并不存在于 DOM 中

这是场景的可视化表示

$(document).ready(function() {
    $('#myNonExistentElement').on('click', function() {
        //do something
    });
});

在这种情况下,是否可以通过编程方式触发该点击事件(通过控制台或其他方式)?

4

2 回答 2

2

我认为简单的答案是否定的。

但是,有两种情况可能适合您的问题:

1)如果您只想执行事件处理程序代码,请使用命名函数(而不是匿名函数)并在需要时调用它。

2) 如果您想将点击处理程序绑定到 DOM 中尚不存在但您知道将来会存在的对象,您可以使用如下代码:

$(document).ready(function() {
  $('body').on('click', '#myNonExistentElement', function() {
    //do something
  });
});

请参阅http://api.jquery.com/on/上有关委托事件的部分

于 2012-05-18T20:32:48.003 回答
1

如果您尝试通过 jQuery(或至少,.on)将事件绑定到不存在的元素,则不会绑定新事件。

示例案例在这里

*事件代码从这里被盗,因为我很懒。

于 2012-05-18T20:31:28.993 回答