我使用的jquery弹出式插件在我的页面上完美运行。
但是如果我从ajax调用此页面,则Jquery弹出窗口不起作用。
任何建议?
非常感谢!!
$(document).ready(
function(){
//open popup
$(".pop").click(function(){
var url = $(this).attr('name');
$("#"+url).fadeIn(1000);
positionPopup(this);
});
//close popup
$(".close").click(function(){
var url = $(this).attr('name');
$("#"+url).fadeOut(500);
});
});
也许是document.ready没有从ajax调用? 我该如何调用该函数?
答案 0 :(得分:1)
您应该使用on
方法,而不是仅使用click
。您的代码将是:
$(document).ready(
function(){
//open popup
$(document).on("click", ".pop", function(){
var url = $(this).attr('name');
$("#"+url).fadeIn(1000);
positionPopup(this);
});
//close popup
$(document).on("click", ".close", function(){
var url = $(this).attr('name');
$("#"+url).fadeOut(500);
});
});
这里的问题是关于事件冒泡。使用ajax动态创建html元素时,事件不会附加到它们。 on
方法可以解决问题。