所以,这个问题有两个重要的细节:
- 它在文档就绪的回调函数的范围内
- 事件附加到的元素实际上并不存在于 DOM 中
这是场景的可视化表示
$(document).ready(function() {
$('#myNonExistentElement').on('click', function() {
//do something
});
});
在这种情况下,是否可以通过编程方式触发该点击事件(通过控制台或其他方式)?
所以,这个问题有两个重要的细节:
这是场景的可视化表示
$(document).ready(function() {
$('#myNonExistentElement').on('click', function() {
//do something
});
});
在这种情况下,是否可以通过编程方式触发该点击事件(通过控制台或其他方式)?
我认为简单的答案是否定的。
但是,有两种情况可能适合您的问题:
1)如果您只想执行事件处理程序代码,请使用命名函数(而不是匿名函数)并在需要时调用它。
2) 如果您想将点击处理程序绑定到 DOM 中尚不存在但您知道将来会存在的对象,您可以使用如下代码:
$(document).ready(function() {
$('body').on('click', '#myNonExistentElement', function() {
//do something
});
});
请参阅http://api.jquery.com/on/上有关委托事件的部分