[英]jQuery: triggers do not fire on elements loaded with .load()
我有index.php并使用jQuery .load()从load.php加载内容。
当我在index.php中的元素上触发事件时,将触发该事件。 在相同的元素上,将.load()加载到index.php中时,事件不会触发!
为什么? 我做错了吗?
如果我使用FireBug预览页面,则该元素的#id完全应该像它应该的那样,但是甚至没有像这样的函数起作用:
$('#clickme').click(function() {
alert('hello');
});
如果将元素放置在index.php中并且未加载.load(),则相同的函数起作用。 有任何想法吗??
提前非常感谢您!
使用click
将在元素被调用时在该元素上创建一个事件侦听器。 如果在click
不存在该元素,则不会创建侦听器。 您需要使用on
来进行事件委托(或在旧版本的jquery中使用delegate
)。
看一下文档并阅读有关授权的信息。 您将需要以下内容:
$("<selector of static ancestor>").on("click", "#clickme" , function(){})
click
事件绑定程序不会绑定到执行后创建的任何元素。 您可以在.load()
方法之后立即添加click
侦听器,也可以使用live
或delegate
方法绑定到DOM中的元素模式。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.