繁体   English   中英

jQuery:触发器不会在加载了.load()的元素上触发

[英]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侦听器,也可以使用livedelegate方法绑定到DOM中的元素模式。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM