我有以下 html 代码
<a href="javascript:update(this)">Val1</a>
<a href="javascript:update(this)">Val2</a>
以及函数
function update(obj) {
alert(obj); // I expect to get a tag object but I am getting Window Object
//do something
}
现在我希望获得引用标签的对象,但我得到的是窗口对象。有人可以告诉我为什么引用标签的对象没有被传递
最佳答案
Can some one tell me why object referring to a tag is not passed
因为这不是事件属性,而是 URL。 URL 中使用 javascript:
伪协议(protocol)的代码作为全局代码运行,其中 this
引用全局对象,就像 script
中的代码一样> 元素(不使用“use strict”
)是。
如果您使用事件属性,例如 onclick
,那么代码将像在全局范围内的函数中一样运行,并将 this
设置为元素以及引用当前事件的范围内 event
变量。
关于javascript - 为什么将 Window 对象传递给函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23672632/