1

我的网站是基于 ajax 的。我有一些 id= 的 div,content它是由.get-request (来自 jquery)动态生成的。问题是内容内部有链接:<a href="site.com/#some_hash">text</a>并且它应该重新加载页面应用到some_hash. 我怎样才能点击这些链接并重新加载页面?

$('.content a').bind('click', function() {
   alert('Clicked!');
});

这不会引起警觉。

4

2 回答 2

1

我认为你应该使用 jquery on() http://api.jquery.com/on/

$(document).on('click', '#content a', function() {
    YOUR FUNCTION
});
于 2012-11-22T07:57:49.760 回答
1

您当前的代码不起作用的原因是 jQuery“绑定”只运行一次 - 当页面加载时。因此,之后添加到 DOM 的链接不会将事件绑定到它们。

要解决此问题,您可以使用 jQuery 中的 .on() 方法。

$(document).on('click', '#content a', function() {
    YOUR FUNCTION
});

您也可以使用 .live() - 但现在已弃用。

然而 ,Ajax 有一套庞大且完善的设计模式,虽然我不打算讨论制作整个站点 ajax 的优缺点,但我强烈建议您查看为此类功能制作的一些插件,例如:

这些将立即为您做很多此类事情,让您专注于其他事情。

于 2012-11-22T08:04:36.877 回答