加载PHP模板(使用jQuery的加载函数)后,这个简单的脚本不会让DIV消失:
$("#trigger").click(function(event){
$("#removeThisDIV").hide();
HTML位:
<p id="trigger">X</p>
尝试在加载之前移除其他DIV - 它工作得很好。加载后,脚本死了。想法?
感谢。
答案 0 :(得分:2)
将事件委派与live
一起使用,因为在您调用$.load
后,新注入的元素将不会绑定点击事件处理程序:
$("#trigger").live("click",function(event){
$("#removeThisDIV").hide();
});
或者,使用$ .load的回调:
$('#blah').load('some.html', function() {
$("#trigger").click(function() {
$("#removeThisDIV").hide();
});
});
要使live
起作用,您需要使用jQuery 1.3或更高版本。希望有所帮助。
答案 1 :(得分:1)
正如karim79所提到的,当您分配click函数时,您想要用作触发器的div不是DOM的一部分,因此它没有所需的功能。当然,您可以简单地将js放在PHP模板本身中;
<p id="trigger" onclick="$('#removeThisDIV').hide();">X</p>
确保在此元素上方包含jquery,否则它将抛出“$ not recognized”错误。