jQuery点击事件在Chrome中无效

时间:2014-03-15 22:32:24

标签: jquery google-chrome click

每当我点击链接时,我都会使用此代码作为抓取另一个HTML文件内容并将其放在div中的简单示例。它适用于Firefox和Safari,但不适用于Chrome,IE或Opera。

<a class="ajaxLink" href="RS.html">Click to load RS content</a>

<div id="page">
    Initial TEXT - will be substituted with RS when clicking ajaxLink
</div>

<script>
    $(function () {
        $('a.ajaxLink').click(function(e) {
            e.preventDefault();
            $('#page').load($(this).attr('href'));
        });
    });
</script>

在Chrome,IE&amp; Opera,每当我点击链接时,都没有任何反应,与HTML文件的内容无关。可能是我的代码不兼容?

老实说,我从这里得到了这个代码: Javascript wont load into ajax div

我不完全了解($(this).attr('href'));的工作原理,但了解在#page加载HTML应该是正确的。

2 个答案:

答案 0 :(得分:1)

您的代码没有问题我的朋友在mozilla上尝试而不是Chrome它不能用于Chrome,因为

由于同源策略,您无法访问同一域中的网址。 由于源(源)页面和目标URL位于不同的域,您的代码实际上是在尝试发出跨域(CORS)请求,而不是普通的GET 简单来说:对于localhost和从同一个域获取页面你可以; t访问文件

答案 1 :(得分:0)

$(this).attr('href')只是从锚点获取'href'属性(在本例中为'RS.html')

你应该通过添加一些breakpoints / console.log语句来调试你的代码,以找出它不起作用的点(点击事件至少应该触发),我看不出Chrome会有任何不同的行为。< / p>