Javascript 如何在onclick中将按钮传递给匿名回调函数?
我以前有一个这样的按钮:Javascript 如何在onclick中将按钮传递给匿名回调函数?,javascript,this,Javascript,This,我以前有一个这样的按钮: <input type="button" value="Save" onclick="SaveReleaseStage(this, 'Reassigned', 'ReleaseStage/ReassignProcess');" /> 传递的“this”是按钮。一切都很顺利 当我把它改成这个: <input type="button" value="Save" onclick="ShowConfirmation('Confirm', 'Some m
<input type="button" value="Save" onclick="SaveReleaseStage(this, 'Reassigned', 'ReleaseStage/ReassignProcess');" />
传递的“this”是按钮。一切都很顺利
当我把它改成这个:
<input type="button" value="Save" onclick="ShowConfirmation('Confirm', 'Some message...', function () { SaveReleaseStage(this, 'Reassigned', 'ReleaseStage/ReassignProcess'); });" />
“this”现在是窗口对象,而不是按钮
有没有一种方法可以在不添加ID和使用getElementById或jQuery的情况下将按钮传递到回调?因为它是一个没有绑定上下文的匿名函数,因此
此
默认为全局对象。在您的情况下,这将是窗口
进一步阅读这一行为:
更新:根据您的问题编辑,您可以将结束引用传递给按钮:
<input type="button" value="Save" onclick="var self=this; ShowConfirmation('Confirm', 'Some message...', function () { SaveReleaseStage(self, 'Reassigned', 'ReleaseStage/ReassignProcess'); });" />
演示:因为它是一个匿名函数,没有绑定上下文,因此此
默认为全局对象。在您的情况下,这将是窗口
进一步阅读这一行为:
更新:根据您的问题编辑,您可以将结束引用传递给按钮:
<input type="button" value="Save" onclick="var self=this; ShowConfirmation('Confirm', 'Some message...', function () { SaveReleaseStage(self, 'Reassigned', 'ReleaseStage/ReassignProcess'); });" />
演示:因为它是一个匿名函数,没有绑定上下文,因此此
默认为全局对象。在您的情况下,这将是窗口
进一步阅读这一行为:
更新:根据您的问题编辑,您可以将结束引用传递给按钮:
<input type="button" value="Save" onclick="var self=this; ShowConfirmation('Confirm', 'Some message...', function () { SaveReleaseStage(self, 'Reassigned', 'ReleaseStage/ReassignProcess'); });" />
演示:因为它是一个匿名函数,没有绑定上下文,因此此
默认为全局对象。在您的情况下,这将是窗口
进一步阅读这一行为:
更新:根据您的问题编辑,您可以将结束引用传递给按钮:
<input type="button" value="Save" onclick="var self=this; ShowConfirmation('Confirm', 'Some message...', function () { SaveReleaseStage(self, 'Reassigned', 'ReleaseStage/ReassignProcess'); });" />
演示:可能与我更新的问题重复。可能不是重复的?可能是重复的我更新了问题。可能不是重复的?可能是重复的我更新了问题。可能不是重复的?可能是重复的我更新了问题。可能不是复制品?