javascript - 为什么将 Window 对象传递给函数

标签 javascript html

我有以下 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/

相关文章:

html - 为什么元刷新在 Firefox 中不起作用?

javascript - 如何将数组附加到现有的 json 数组并写入 Node js 中的文件

javascript - Angularjs中如何重写组件

Javascript html函数输入按钮输出

html - 在 firefox 中不显示

html - 无法在表格单元格内居中对齐 p?

javascript - Google map Iframe 中隐藏的 <div> 缩放和居中问题

javascript - 如何找到我想要编辑的联系人 ID?

html - 扩展表单宽度 <label> 问题

html - 我如何处理多个选择框以在单个状态下使用react