2013-04-25 89 views
1

希望我不听起来像一个白痴张贴这一点,但使用:onhashchange事件casuing无效标记验证

<body onhashchange="HashChangeHandler();"> 

导致一个无效的标记验证。

是否还有其他地方我可以把它放在身体标签之外?

我知道那里有window.onhashchange = funcRef;window.addEventListener("hashchange", funcRef, false);但我不知道该把它放在哪里,如果这是有道理的。

该网站仍然工作完美,但无效的标记旗正在窃听我!

+0

你什么时候需要调用HashChangeHandler方法?加载页面之后或加载页面之前,或者当你打电话时不重要? – 2013-04-25 08:51:00

+0

@TheDarkKnight - 推测当片段标识符改变时需要调用它。因此它在事件处理程序中使用。 – Quentin 2013-04-25 08:52:23

+0

你可以尝试添加它为window.onload = HashChangeHandler;在头标签的脚本标签内()。这就解决了你的问题。 – 2013-04-25 08:52:37

回答

1

我知道这里有...但我不知道该把它放在哪里,如果这是有道理的。

<script>元素中。就这样。

<script> 
function thingy(e) { 
    alert('changed'); 
} 
window.addEventListener("hashchange", thingy, false); 
</script> 
+0

我认为这很简单:-)我只是不确定是否可以将它放在页面顶部的脚本元素中。今天早上不直截了当地说。正是我为什么担心听起来像一个这么简单的傻瓜。谢谢。 – Lee 2013-04-25 09:14:46