-1

我遇到了一个有多个页面的网站。当一个页面被点击时,内容是动态加载的。我知道使用了 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>

有什么我想念的吗?

4

2 回答 2

0

是的,你错过了一些东西。如果不查看完整代码,我们无法确定,但此页面可能使用 jquery 选择器来处理事件。例如,代码可能会声明所有“a”标签都获得了与其关联的某个 JavaScript 函数。或者所有带有 class="acted" 等的东西。看看:http ://www.w3schools.com/jquery/jquery_ref_selectors.asp

于 2013-01-26T14:32:44.983 回答
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 属性。结果是即使原始 HTML 不包含默认处理程序, main 也可以单击,并且如果您执行“查看源代码”,您将看不到该处理程序(尽管如果您的浏览器具有开发人员工具,您可能能够看到它已连接)。

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

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

于 2013-01-26T14:30:24.373 回答