jQuery:触发器不会在加载了 .load() 的元素上触发
jQuery: triggers do not fire on elements loaded with .load()
我有索引.php并使用jQuery .load()从load.php加载内容。
当我在索引.php中的元素上触发事件时,该事件将触发。在相同的元素上,当使用 .load() 加载到 index 中时.php事件不会触发!?
为什么?我做错了吗?
如果我使用例如FireBug预览页面,则元素的 #id 与应有的完全相同,但即使是这样的功能也不起作用:
$('#clickme').click(function() {
alert('hello');
});
如果元素放在索引中.php并且没有加载 .load(),则相同的函数有效。任何想法??
提前非常感谢!
使用 click
将在调用元素时在元素上创建一个事件侦听器。 如果在调用click
时元素不存在,则不会创建侦听器。 您需要使用 on
使用事件委托(或在旧版本的 jquery 中delegate
)。
查看文档并阅读有关委派的信息。 你需要这样的东西:
$("<selector of static ancestor>").on("click", "#clickme" , function(){})
click
事件绑定器不绑定到执行后创建的任何元素。 可以在 .load()
方法之后立即添加click
侦听器,也可以使用 live
或 delegate
之类的内容绑定到 DOM 中的元素模式。
相关文章:
- 如何在jQuery.load(html)之后选择jQuery.Treeview中的当前元素
- jQuery .load 在最近的跨度而不是元素本身
- 在 .load() 方法检索的 HTML 中查找元素时出现问题
- 如何显示使用 jQuery load() 将多个项目转换为多个元素
- 访问 .load() 函数中的 $(this) 元素
- jQuery .on('click) 在通过 .load('lorem.php') 加载的元素上
- jQuery:触发器不会在加载了 .load() 的元素上触发
- jQuery bind 事件不会在通过 $().load() 加载的元素上触发
- jQuery window.load没有't修改使用其他javascript创建的dom元素
- 访问jquery.load成功函数中的目标元素
- 使用jQuery's.load方法从页面中返回一个元素
- 是否可以通过jQuery.load()加载外部元素后滚动到锚点
- (Jquery)从load[ed]() HTML元素样式中获取背景图像路径
- 试图获得一个AJAX风格的.load()元素与.on()绑定,但它不工作
- 如何检测被load()加载的元素是否已经完成加载?
- 使用jQuery .load()获取元素高度的问题
- 无法操作由AJAX load()加载的外部HTML的DOM元素
- 试图在.load触发后注入元素
- 捕获元素"load"使用jQuery为append()-ed元素添加事件
- 在已经加载的元素上添加addEventListener('load', func)