将 onclick 函数扩展到 javascript 类
Extend onclick function to javascript class
我想在 JavaScript 类中包含 onclick 事件,但由于 onclick 是类内部的一个函数,因此 this
变量无法正常工作。
如何从 onclick 函数修改/输出this
变量?
img = new image();
function image() {
this.width = 400;
this.height = 600;
document.getElementById('button').onclick = function()
{
alert(this.width); // alerts undefined
};
}
请参阅此处的 JSfiddle:http://jsfiddle.net/ZghRv/
您可以使用
bind() 创建一个新函数,该函数将this
设置为传递给 bind() 的对象。
img = new image();
function image() {
this.width = 400;
this.height = 600;
document.getElementById('button').onclick = (function()
{
alert(this.width); // alerts undefined
}).bind(this); // <--- Add bind() here to pick the value of 'this' inside onclick
}
查看 JavaScript 函数绑定以获取更多信息和交互式示例。
您还可以引用外部this
更新的小提琴:
http://jsfiddle.net/ZghRv/3/
相关文章:
- 如何在Ionic Android中将Javascript注入到web视图中
- 将插件制作的Javascript包含到html按钮中
- 将带有多维数组的表单从Javascript提交到PHP
- 如何在提交后将变量从javascript传递到php
- 将照片从javascript发送到php
- javascript变量到php数组
- Javascript:如何将数组元素扩展到所有其他元素并创建一个数组
- 如何使用 JavaScript 将选择扩展到单词边界,仅一次
- Chrome扩展程序将外部JavaScript添加到当前页面的html中
- 将 onclick 函数扩展到 javascript 类
- JavaScript:是否不可能将单个“三元”操作扩展到多个层
- 是否可以将Razor文件中的Model扩展到一个单独的Javascript文件中
- 将javascript函数扩展到动态加载的文件中
- jQuery $.扩展到纯JavaScript
- Javascript模块模式:如何将方法/插件注入/创建/扩展到我们自己的库中
- 如何用Javascript扩展formdata并将其发送到控制器
- 将HTML扩展到多行javascript中
- 如何传递一个保存的Javascript变量在Chrome扩展到谷歌应用引擎应用程序
- 谷歌Chrome扩展:传递javascript变量到iframe src
- 单击图片缩略图并使用javascript扩展到中心