Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/427.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何在onclick中将按钮传递给匿名回调函数?_Javascript_This - Fatal编程技术网

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'); });" />


演示:

可能与我更新的问题重复。可能不是重复的?可能是重复的我更新了问题。可能不是重复的?可能是重复的我更新了问题。可能不是重复的?可能是重复的我更新了问题。可能不是复制品?