-1

我使用在我的页面上完美运行的 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 调用?我应该如何调用该函数?

4

1 回答 1

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方法解决了问题。

于 2012-11-08T13:47:35.010 回答