Por*_*ori 15 javascript window function onclick this
我的JavaScript应用程序遇到了棘手的问题.
如果我写这样的元素:
<li onClick="alert(this.tagName)"></li>
Run Code Online (Sandbox Code Playgroud)
我得到"李".
但是,如果我这样做:
<li onClick="foo()"></li>
Run Code Online (Sandbox Code Playgroud)
"foo()"的位置是:
function foo(){ alert(this.tagName); }
Run Code Online (Sandbox Code Playgroud)
我得到"未定义".
我不知道"这个"应该如何适用于附加功能.但是,我感到困惑,因为"这个"没有拿起元素,但显然是默认为"窗口".我无法弄清楚为什么会这样.
有人有解释吗?
p_s*_*and 21
那是因为你没有传递引用到这个在JavaScript函数调用.这在JavaScript函数中没有引用与onClick示例中相同的对象.试试这个:
<li onClick="foo(this)"></li>
function foo(item){ alert(item.tagName); }
Run Code Online (Sandbox Code Playgroud)