【问题标题】:Can unobtrusive Javascript event be used in document head?可以在文档头中使用不显眼的 Javascript 事件吗?
【发布时间】:2012-06-19 23:32:24
【问题描述】:

有一些关于纯 JS 的不显眼事件的示例。本主题中的大多数问题实际上都是用 jQuery 解决方案来回答的。我想知道这个简单的例子是如何工作的。正如我测试的那样,文档头部中的这个功能非常适合点击整个文档

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

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

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

如何捕捉对元素的点击以实现不显眼的 JS 功能?

更新问题:根据ascii-lime 的回答,如何将不显眼的 Javascript 事件放置在文档“head”中?

【问题讨论】:

    标签: javascript onclick dom-events unobtrusive-javascript


    【解决方案1】:

    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');
    }
    

    【讨论】:

    • 您的回答很完美,澄清了模糊的问题,但我更新了问题,因为这应该也是其他人的问题。
    • 晶莹剔透!我可以声称互联网上没有这样明确的解释,因为我搜索了很多。我相信这会帮助其他人搜索这个问题。
    【解决方案2】:

    我已经在 J​​SFiddle.net 中测试了您的代码,它似乎正在运行。

    在此处查看实际操作:http://jsfiddle.net/kNFrz/

    我已经使用 Chrome 19.0 和 IE 9.0 进行了测试

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-08-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-06-04
      相关资源
      最近更新 更多