2010-06-08 97 views
0

我遇到这个问题指一段JavaScript代码的时候:动作监听器在哪里注册?

<a href="javascript:void(0);"><!-- other html elements --></a> 

它希望对这种定位的注册鼠标点击事件监听器,但我无法找到该函数注册。更重要的是,代码href="javascript:void(0);"是什么意思?

在此先感谢!

回答

1

javascript:void(0)基本上禁用href,如果您需要添加事件处理程序,通常会执行该操作。然后你的内联元素上,您可以添加一个onclick()处理IE:

<a href="javascript:void(0);" id="myA" onclick="myFunction()"><!-- other html elements --></a> 

,或者你可以通过像脚本您注册事件:

document.getElementById('myA').onclick = myFunction; 

难道这就是你问的?

+0

感谢您的回复。这正是我想知道的。但为什么我们有时使用代码'document.getElementById('id')。onclick'来注册一个动作监听器,而不是在元素标签中显式地硬编码? – 2010-06-08 08:57:56

+0

将演示文稿与任何控件分开会更好。特别是在使用外部脚本文件来利用缓存时。在我看来,它也使得更清洁和可维护的代码。 – edl 2010-06-08 09:19:38

+0

一些核心开发人员认为这是“正确的做法”。关键词:“不显眼的JavaScript”。然而,硬编码的听众具有可靠性和即时效果等优点(不必等待onload/ondomready)。 – RoToRa 2010-06-08 09:24:21