从ajax打开jquery弹出窗口

时间:2012-11-08 12:22:26

标签: php javascript jquery firefox

我使用的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调用? 我该如何调用该函数?

1 个答案:

答案 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方法可以解决问题。