Jquery on event不绑定不存在的元素
Jquery on event is not binding for non existing elements
这里是jsfiddle的例子
http://jsfiddle.net/HTjCT/1/你可以看到当你悬停的时候它不会触发mouseover事件
如何解决这个问题?
我使用Jquery 1.9
<div id='superdiv'>Click Me</div>
$(function () {
$('#superdiv').on('click', function (event) {
$('body').append('<div id="super">another');
});
$('#super').on('mouseover', function (event) {
alert('not working');
});
});
javascript 你必须使用"delegate",就像这样(提供"live")$('body').on('mouseover', '#super', function (event) {
您还可以将鼠标悬停事件包装在函数中,并在添加希望受影响的新元素时调用它。这样WickyNilliams指出的问题就不会影响到你了。
$(function () {
$('#superdiv').on('click', function (event) {
$('body').append('<div id="super">another');
mouse();
});
function mouse () {
$('#super').on('mouseover', function (event) {
alert('not working');
});
});
mouse();
}
您想要创建onclick的div,没有使用'
如果您尝试以下代码:
$(function () {
$('#superdiv').on('click', function (event) {
$('body').append(
$('<div/>',{ 'id' : 'super', 'text' : 'tetet'}).mouseover(function(event) {
alert('test');
})
);
});
});
相关文章:
- 如何将一个函数附加到一个不存在的元素上
- 使用js/jQuery检查对象(而不是元素)是否真的存在
- 使用webdriver和selenium验证元素是否不存在
- 试图把注意力集中在一个不重要的元素上是不是一种糟糕的做法;不存在
- 打字稿错误:P roperty'包含'在类型'元素'上不存在
- 原型JavaScript Event.observe-如何观察可能存在或不存在的元素
- AngularJS NgIf 或 NgHide 如果另一个元素不存在或隐藏
- 输出表示img元素不存在(为null),但脚本在img的实现下面,并使用了onload()
- jQuery 获取搜索选择器,如果元素不存在
- 如何在量角器中为元素存在或不存在创建条件
- 脚本返回页面上不存在的元素
- 为什么当我刚刚创建 DOM 元素时它不存在
- JavaScript 检查特定元素 (iframe) 是否存在,如果不存在,则检查 appendchild
- 诉诸数组中不存在的元素,会大大降低性能
- 使用 on() 将事件处理程序添加到尚不存在的元素
- Javascript 如果元素不存在返回,则导致对象不起作用
- 如果事件附加到不存在的元素,是否可以触发该事件
- 一次在同一节点上添加 2 个元素?(或在不存在的节点中)
- 查找绑定在不存在元素上的事件
- jQuery id选择器不返回不存在元素的空数组