jQuery 1.4 15个你应该知道的新特性(译)

2020-05-22 21:58:33易采站长站整理



jQuery(‘#foo).bind({ 
click: function() {
// 具体代码
},
mouseover: function() {
// 具体代码
},
mouseout: function() {
// 具体代码
}
})

 


你也可以通过 “.one()“方法操作。


更多关于.bind(…)


4. Per-Property Easing

与给一个动画仅仅定义一个缓动效果相比,现在你可以给你想要添加动画效果的属性定义不同的缓动函数了。jQuery包含两个缓动函数,旋转(默认)和线性移动。如果你需要其他的效果的话,你需要去单独下载它们 !


要给每个属性指定一个缓动函数的话,你可以简单的通过属性数组来达到目的,在数组中,第一个值是你想要实现的效果值,第二个参数则是使用的缓动函数,如:


 jQuery(‘#foo’).animate({ 
left: 500,
top: [500, ‘easeOutBounce’]
}, 2000);

 


查看代码演示!


你也可以以键值对的形式在那些可选设置项中单独指定属性缓动函数:


 jQuery(‘#foo’).animate({ 
left: 500,
top: 500
}, {
duration: 2000,
specialEasing: {
top: ‘easeOutBounce’
}
});

 


原文作者注 – 小小谦虚一下,这个新特性是作者James Padolsey的主意!


更多关于per-property easing


5. 新的Live事件!

1.4添加了对”submit”,”change”,”focus”,和”blur”事件的委托支持。在jQuery中,我们可以使用”.live()”方法去委托事件。这在你需要注册事件到大量元素中或新的元素需要不断的被添加(使用”.live()”会比不断的重新绑定事件更高效)将会很有用。


但是,注意!如果你需要委托”focus”和”blur”事件的时候,你必须使用”focusin”和”focusout”事件名称!

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

 



6. 控制函数的上下文

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


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