使用上下文调用 bind()
Calling bind() with a context
我正在开发一个网站,其中各种对象绑定到$(window)上的常见事件。但是,我想在接收触发器的对象的上下文中运行这些函数。(换句话说,保留"this",以便它在调用函数时仍引用对象而不是窗口。我该怎么做?例如,在对象内部:
var someNum = 1;
$(window).bind("test", printNum);
function printNum() {
alert(this.someNum); // should return 1
}
查看 $.proxy
,您可以使用它来创建始终具有特定上下文的函数:
$(window).bind("test", $.proxy(printNum, this));
此外,从jQuery 1.7开始,on
优于bind
。
我从来不清楚 JavaScript 中的对象上下文,但我已经成功地使用了这种方法。 笑或欣赏它:
this.someNum = 1;
$(window).bind("test", printNum);
var parent = this;
function printNum() {
alert(parent.someNum); // should return 1
}
相关文章:
- 如何使jQuery插件函数可调用以供独立使用,而不在集合上操作
- Bind('pageinit')无法调用方法
- JQM .bind 函数调用挂起在方法上,但脚本仍会完成
- 有没有办法使用 .bind 或 .apply 为被调用的方法提供调用方法或循环的范围
- 如果对函数调用了.bind(),是否无法判断该函数是否为生成器函数
- ng-bind在API调用设置数据后不显示任何内容
- 在 JavaScript 中链接 .bind() 调用.意外结果
- ajax搜索函数使用$(window).bind('hashchange',function(e)调用了
- 在BIND之后调用JS函数
- 在没有上下文参数的情况下调用本机绑定函数(function.prototype.bind)
- 嵌套函数调用的下划线_.bind()问题
- 为什么调用.bind(this)时函数中没有定义?
- 在fs.readfile在使用fs.readfile.bind(context,pathArgument)时被调用
- 以与jQuery.proxy()相同的方式调用lodash _.bind()
- Javascript绑定问题不能通过调用bind来解决
- 当我使用bind时,我应该改变对Javascript函数的调用
- 在 JavaScript 示例中使用 bind、apply 或调用
- 如何比较使用“.bind()”调用的两个函数
- 使用上下文调用 bind()
- 在es6的构造过程中对所有实例方法自动调用bind()