我遇到了一个有多个页面的网站。当点击页面时,动态加载内容。我知道使用了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>
我有什么遗失的吗?
答案 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