0
我遇到这个问题指一段JavaScript代码的时候:动作监听器在哪里注册?
<a href="javascript:void(0);"><!-- other html elements --></a>
它希望对这种定位的注册鼠标点击事件监听器,但我无法找到该函数注册。更重要的是,代码href="javascript:void(0);"
是什么意思?
在此先感谢!
我遇到这个问题指一段JavaScript代码的时候:动作监听器在哪里注册?
<a href="javascript:void(0);"><!-- other html elements --></a>
它希望对这种定位的注册鼠标点击事件监听器,但我无法找到该函数注册。更重要的是,代码href="javascript:void(0);"
是什么意思?
在此先感谢!
javascript:void(0)基本上禁用href,如果您需要添加事件处理程序,通常会执行该操作。然后你的内联元素上,您可以添加一个onclick()处理IE:
<a href="javascript:void(0);" id="myA" onclick="myFunction()"><!-- other html elements --></a>
,或者你可以通过像脚本您注册事件:
document.getElementById('myA').onclick = myFunction;
难道这就是你问的?
感谢您的回复。这正是我想知道的。但为什么我们有时使用代码'document.getElementById('id')。onclick'来注册一个动作监听器,而不是在元素标签中显式地硬编码? – 2010-06-08 08:57:56
将演示文稿与任何控件分开会更好。特别是在使用外部脚本文件来利用缓存时。在我看来,它也使得更清洁和可维护的代码。 – edl 2010-06-08 09:19:38
一些核心开发人员认为这是“正确的做法”。关键词:“不显眼的JavaScript”。然而,硬编码的听众具有可靠性和即时效果等优点(不必等待onload/ondomready)。 – RoToRa 2010-06-08 09:24:21