[英]How to pass button to anonymous callback function in onclick?
我曾经有一个像这样的按钮:
<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”是Window对象而不是按钮。
有没有一种方法可以将按钮传递给回调,而无需增加ID并使用getElementById或jQuery?
因为它是没有约束力的上下文中的匿名函数,因此, 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'); });" />
演示: http : //jsfiddle.net/8caMT/
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.