可以在文档头中使用不显眼的javascript事件吗?

时间:2012-06-17 22:45:28

标签: javascript javascript-events onclick unobtrusive-javascript

有一些关于纯JS的不显眼事件的例子。这个主题中的大多数问题实际上都是用jQuery解决方案来回答的。我想知道这个简单的例子如何运作。在我测试时,文档头内的这个功能完全适用于点击整个文档

document.onclick=function(){alert("OK");}

但这不适用于点击<div id="test">CLICK</div>

document.getElementById("test").onclick=function(){alert("OK");}

如何捕获单击元素以获得不引人注目的JS函数?

更新的问题:按照ascii-lime的回答,如何在文档'head`中放置无懈可击的javascript事件?

2 个答案:

答案 0 :(得分:4)

It works just fine

确保您的<div>存在之后脚本正在运行,方法是将脚本放在<div>之后,或者在window.onload事件处理程序中运行它。

或者,您可以将onclick附加到文档(因为文档在脚本运行之前肯定存在),然后检测单击了哪个元素like this

document.onclick = function(e){
    e = e || window.event;
    if(e.target.id == 'test')
        alert('OK');
}

答案 1 :(得分:0)

我已经在JSFiddle.net中测试了你的代码,它似乎正在运行。

在此处查看此行动:http://jsfiddle.net/kNFrz/

我已使用Chrome 19.0和IE 9.0测试