设置'this'JQuery方法中匿名函数的上下文
Setting the 'this' context of an anonymous function within a JQuery Method
我想传递一个特定的上下文给下面的点击绑定方法:
$(document).ready(function(){
var o = {
name : 'I''m object O'
};
$('#my-button').click(function(){
alert(this.name);
}.call(o));
});
问题是这在页面加载时就会被触发。是否有一种方法,我可以绑定上下文到点击处理程序的匿名函数,并有它触发只有当点击事件被触发?另外,你能解释一下为什么它是在页面加载时触发的,而不是点击事件吗?
使用$.proxy
$("#my-button").click($.proxy(function () {
alert(this.name);
}, o));
它不起作用,因为你在它声明的时候调用了这个匿名函数。试试这个:
$(document).ready(function(){
var o = {
name : 'I''m object O'
};
$('#my-button').click(function(){
function(){
alert(this.name);
}.call(o)
});
/*
* Or shorter:
* $('#my-button').click(function(){
* alert(o.name);
* });
*/
});
$(文档).mousedown(函数(e) {
//做东西}
相关文章:
- 将函数的上下文应用于javascript变量
- 是否可以在不更改上下文的情况下调用函数.apply
- 调用$.each()函数时上下文发生变化
- 如何向onClick事件处理程序传递一个接受参数的函数,并且仍然将该函数绑定到组件's”;这个“;上下文
- 访问函数对象的上下文属性|如何
- 构造函数函数中的自执行函数的OO上下文/范围
- node.js中的箭头函数上下文
- Javascript Ninja:数组中的当前元素作为函数上下文
- underscore.js debounce函数中的内部函数上下文
- 离开函数上下文后,Javascript数组内容将消失
- Javascript函数上下文
- & # 39; functionInBackboneView& # 39;在Jquery中不是一个函数上下文
- 如何构造原型,使函数上下文不指向“原型”对象?
- 将变量传递给函数上下文
- 点击释放函数上下文
- 在JavaScript中更改函数上下文(用于访问局部变量)
- Javascript:使用函数上下文与作为参数传递的好处是什么?
- 嵌套函数中的函数上下文(“this”)
- 事件类型字段的打字稿事件处理程序函数 - 上下文不正确
- JavaScript函数上下文错误