查找函数的调用者

时间:2015-02-20 14:58:56

标签: javascript function

我们说我有一个按钮。 <input type="button" value="Click me" onClick="MyFuncion()">
在函数中,我想获得按钮对象 我尝试了以下方法:

&#13;
&#13;
function MyFunction()
{
  this.value = "Another text";
}
&#13;
<input type="button" value="Click me" onClick="MyFuncion()">
&#13;
&#13;
&#13;

我的意图是将按钮的文本更改为另一个文本。
如您所见,this并未指向该按钮。我的猜测是指向功能本身 我该怎么做?

简而言之,我的问题是:如何获取调用函数的对象?

2 个答案:

答案 0 :(得分:2)

当您从onclick属性调用该函数时,“this”上下文可用,您可以将其传递到您的函数中:

function MyFunction(button)
{
  button.value = "Another text";
}
<input type="button" value="Click me" onclick="MyFunction(this)">

您的函数中的“this”上下文将是“window”,或者如果您处于严格模式,则为null。这是因为函数被称为函数而不是方法。

答案 1 :(得分:1)

this传递给MyFunction。

<input type="button" value="Click me" onClick="MyFunction(this)">

function MyFunction(el) {
    el.value = "Another text";
}