我曾经有这样一个按钮:
<input type="button" value="Save" onclick="SaveReleaseStage(this, 'Reassigned', 'ReleaseStage/ReassignProcess');" />
其中&#34;这个&#34;正在传递的是按钮。一切都很好。
当我把它更改为:
<input type="button" value="Save" onclick="ShowConfirmation('Confirm', 'Some message...', function () { SaveReleaseStage(this, 'Reassigned', 'ReleaseStage/ReassignProcess'); });" />
&#34;这&#34;现在是Window对象而不是按钮。
有没有办法将按钮传递给回调而不需要添加ID并使用getElementById或jQuery?
答案 0 :(得分:3)
因为它是一个没有绑定上下文的匿名函数,因此this
默认为全局对象。在您的情况下,window
。
在此处进一步了解this
行为:https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/this
更新:根据您的问题编辑,您可以将按钮引用传递给按钮:
<input type="button" value="Save" onclick="var self=this; ShowConfirmation('Confirm', 'Some message...', function () { SaveReleaseStage(self, 'Reassigned', 'ReleaseStage/ReassignProcess'); });" />