WEB开发网
开发学院网页设计JavaScript jQuery 1.4:15个你应该知道的新特性 阅读

jQuery 1.4:15个你应该知道的新特性

 2010-01-25 00:00:00 来源:WEB开发网   
核心提示: jQuery('input').live('focusin',function(){//具体操作});6. 控制函数的上下文 jQuery 1.4提供了一个新的叫"proxy”的函数,它在jQuery命名空间下,jQuery 1.4:15个你

jQuery('input').live('focusin', function(){
  //具体操作
});

6. 控制函数的上下文

jQuery 1.4提供了一个新的叫"proxy”的函数,它在jQuery命名空间下。该函数需要两个参数,不管是代码域还是方法名,或者是函数和其所处的代码域。 t"this”关键字在JavaScrip中是相当难掌握的。有时候你可能期待它指的是你之前创建的某个对象,而不是一个你可能没想到的元素。

举例说明,假设我们有一个"app”对象,它有两个属性,一个是"clickHandler”方法, 另外一个则是一个config对象。

var app = {
  config: {
    clickMessage: '你好!'
  },
  clickHandler: function() {
    alert(this.config.clickMessage);
  }
};

当我们调用如"app.clickHandler()"时,"clickHandler"会将"app”作为其上下文。这意味着在这里"this"关键字将允许其访问"app"。这在我们简单调用下面函数时没什么问题:

app.clickHandler(); // "你好!" 消息触发

让我们试试将其作为事件绑定会有什么情况:

jQuery('a').bind('click', app.clickHandler);

当我们点击一个链接的时候什么都不会发生,函数不会工作。这是因为jQuery(其他任何正常的事件模型同样如此)默认会把目标元素a设置成为事件的上下文。即"this”现在其实是指刚刚被点击过的元素a。但我们实际上并不想这样子的。我们期待"this”应该被设置为"app”.在jQuery 1.4中实现这个再简单不过了:

jQuery('a').bind(
  'click',
  jQuery.proxy(app, 'clickHandler')
);

上一页  1 2 3 4 5 6 7 8 9  下一页

Tags:jQuery 应该 知道

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接