2
4

4 回答 4

6

三种可能的方式,按从好到坏的顺序排列:

  1. 不显眼 - 在 JavaScript 中,该addEventListener方法用于附加单击事件处理程序。这就是 JQuery 和其他库在幕后所做的。在过去,我相信使用 IEattachEvent代替(只是作为旁注)。

  2. onclick锚标记的属性 - onclick="yourEventHandler()"

  3. href="javascript: func();"

于 2013-07-29T00:16:15.347 回答
1

让我们像这样分解它。

你首先给你的href元素一个 ID。

<a href="#" id="myID">My Link</a>

现在可以唯一标识此元素。

访问该元素上的事件的 JavaScript 如下所示:

// first get the element by id
var myLink = document.getElementById("myID");

// add an event listener to listen for clicks

myLink.addEventListener('click', function(e) {
      alert(e.target.id);
      // prevent the element from invoking its default event,
      // which, in this case would be appending an '#' to the URL
      e.preventDefault();


}, false);

这是一个例子

于 2013-07-29T00:19:32.237 回答
1

在客户端代码的其他地方,javascript 事件处理程序被绑定到锚 (A) 元素的单击事件。它是在一个单独的文件(或一个script块)中完成的,作为分离关注点的一种方式——保持结构(HTML)、布局(CSS)和逻辑(Javascript)彼此独立。

href="#"是一个 NOOP,告诉浏览器不要加载不同的页面,并且是一个权宜之计,以防 javascript 处理程序没有被分配(即如果客户端不支持 javascript)。

于 2013-07-29T00:21:22.623 回答
0

最有可能在这种情况下,该a元素具有onclick引用 JavaScript 函数的属性,例如

 <a onclick="my function()" href="#">Click me</a>
于 2013-07-29T00:18:34.070 回答