0

所以我有三个图像,当您单击它们时,它们会显示一个更大的图像。我制作的一个非常基本的画廊。当我使用.load()更改页面上的内容时,任何方式都不会再为 div 注册点击。

如何重新加载 jquery 或重新加载事件处理程序?

这是我正在尝试的

function recheckTheImageClickers(){
$('#img1').on('click', function(){
    change1();
});
});

我试图在 ajax 之后运行这个函数,看看它是否会将 $img1 重新绑定到点击函数,但没有运气。

有任何想法吗?

4

2 回答 2

0

我解决了,我没有在 .load() 的成功部分运行该函数。现在可以了。

于 2013-05-31T00:39:30.247 回答
0

这看起来是 jQuerylivedelegate(现在都已弃用以支持使用on更多参数)的完美位置:

$(parentSelector).on('click', '#img1', function(){ change1(); });

只要您parentSelector在 AJAX 刷新的 DOM 元素之外,并且#img1是所述父级的子级,这应该可以工作而无需重新执行它。

于 2013-05-31T00:42:11.057 回答