Javascript - 单击事件而不返回对象

时间:2017-11-02 00:10:00

标签: javascript

因此,点击此处的链接将写入javascript: void(0),而不是" a"的对象引用。元素,发生了什么?我可以在href中添加什么来做同样的事情,即不像#那样滚动页面但是会正确地写出引用?



var el = document.getElementById("click");
el.addEventListener("click", (function(el) {
  document.write(el);
}).bind(this, el), false);

<a id="click" href="javascript: void(0)">click</a>
&#13;
&#13;
&#13;

1 个答案:

答案 0 :(得分:1)

document.write()需要将其参数转换为字符串才能编写它,因此它会调用el.toString()HTMLAnchorElement会覆盖默认方法并返回href属性。

您可以通过调用toString()原型对象的HTMLElement函数来绕过此功能。

var el = document.getElementById("click");
el.addEventListener("click", (function(el) {
  document.write(HTMLElement.prototype.toString.call(el));
}).bind(this, el), false);
<a id="click" href="javascript: void(0)">click</a>