加载内容而不更改URL或调用任何JavaScript函数

时间:2013-01-26 14:27:43

标签: javascript jquery html ajax

我遇到了一个有多个页面的网站。当点击页面时,动态加载内容。我知道使用了AJAX但是如果不调用任何JavaScript函数我无法理解它是如何工作的。这是一段代码:

<a href="#" class="acted" onclick="return false;">1</a>

<a href="#" onclick="return false;">2</a>

<a href="#" onclick="return false;">3</a>

我有什么遗失的吗?

2 个答案:

答案 0 :(得分:0)

您是否从“显示来源”获得了该代码?如果是这样,页面上运行的脚本很可能会在页面加载后动态连接事件处理程序,因此原始HTML中的那些onclick事件可能只是占位符。

示例:

<html>
<head></head>
<body>
    <div id="main">This text is not clickable and has no action when clicked, but try to click me anyway just in case.</div>
</body>
<script>
    window.onload = function()
            { 
               document.getElementById("main").onclick = function() {
                                    return alert('Actually, I am clickable afterall!');
                                };
            };
</script>
</html>

在上面的页面中,有一个名为“main”的div没有默认的onclick操作。但是,当页面加载时,会触发一个事件(在本例中为window.onload),该事件调用一些代码将函数附加到id为“main”的div的onclick属性。结果是main变为可点击,即使原始HTML不包含默认处理程序,如果您执行“查看源代码”,您将看不到处理程序(尽管如果您的浏览器具有开发人员工具,您可能会看到它连接起来)。

我还在JS小提琴中提供了这个:http://jsfiddle.net/qfazj/2/

(如果您不熟悉JSFiddle,则右下角是网页的呈现位置,因此请点击该处的文本,您应该会看到警报发生。)

答案 1 :(得分:0)

是的,你错过了一些东西。如果没有看到完整的代码,我们无法确定,但是这个页面很可能使用jquery选择器来处理事件。例如,代码可能声明所有“a”标签都获得与它们相关联的特定javascript函数。或者所有关于class =“actted”等的事情。看看:http://www.w3schools.com/jquery/jquery_ref_selectors.asp