在jQuery的新版本中,你最兴奋的是什么?
最新的jQuery版本已经发布了,jQuery v1.4。 你可以在这里阅读。 它可以让你做一些漂亮的东西,如:
$("div.test").bind({ click: function(){ $(this).addClass("active"); }, mouseenter: function(){ $(this).addClass("inside"); }, mouseleave: function(){ $(this).removeClass("inside"); } });
你最喜欢这个新版本的什么? 是什么让你走了“最后!”?
增加了一个赏金,获得更多的反馈意见,并接受答案
我认为最好的function是允许setters中的函数:
jQuery('li.selected').html(function(i, li) { return "<strong>" + li + "</strong>"; });
许多需要$ .each的代码现在可以被删除。
相信与否,对我来说“最后”的时刻是delay()
:
$("#notice").slideDown('500').delay(4000).slideUp('500'); // = Pure awesome :)
通过将所有属性作为第二个parameter passing给jQuery()
,能够以更简洁的方式即时创build元素:
jQuery('<div/>', { id: 'foo', mouseenter: function() { // do stuff }, html: jQuery('<a/>', { href: 'http://google.com', click: function() { // do stuff } }) });
所有非属性属性映射到相应的jQuery方法。 所以有了html
,就会调用.html()
, click
将通过.click()
绑定一个新的click
事件。
我真的没有最喜欢的,这里是一个不知道这是什么的15个新function的概述:
我是一个速度怪胎,所以速度的提高总是受到我的欢迎
对我来说是这样的:
“所有活动都可以成为现场活动”
“在live()支持的事件中,我们感到非常自豪,1.4通过.live()中的事件委托引入了跨浏览器对更改,提交,focusin,focusout,mouseenter和mouseleave的支持。
我一直在等待这个变化事件的年龄!
那么性能改进当然是我所欣赏的,但是我想我不能说这是一个“终于”,因为这是一个不断改进的东西:) DOM构build(快速元素构造)语法看起来非常方便, detach
方法看起来相当有用:它允许你暂时从DOM中移除一个对象,但是保留所有的处理器,这样在重新插入时它将以同样的方式工作。
我想没有那么多东西,我一直想念,但现在这些新function在那里,有一堆,我急于开始使用:)
焦点和泡沫事件的事件代表团:
我真的很喜欢delay()和detach(),说实话。 性能的改进也是一个巨大的优势,但是delay()可能是其中最令人惊讶的部分。 简单但非常有用。 没有更多的setTimeouts()。
自1.3+以来,它已经非常模块化了。 例如,当你不需要ajax库的时候,最好不用它。 保持文件大小。
叫我疯狂,但只是增加了一些testing给我一个温暖的模糊感觉。 我几乎想要upvote每个答案:)_
我认为unwrap()是简单的,优雅的,你会得到一个innerHTML到最后!
新的解包方法将把一个给定父项的子项取代为父项。 像这样:
<body> <div> <p>this</p> <p>is</p> <p>fun</p> </div> </body> $('div').unwrap(); <body> <p>this</p> <p>is</p> <p>fun</p> </body>
$.proxy()
为了确保这总是意味着这一点,而不是…
从这里例子
MyModule = function() { this.$div = $('#testdiv'); this.myString = "Hi! I'm an object property!"; this.$div.click($.proxy(this.handleClick, this)); }; MyModule.prototype.handleClick = function() { console.log(this.myString); // Hi! I'm an object property! }; var m = new MyModule();
对我来说,现在可以使用live()
处理程序编写事件处理程序。 我知道在最后一个版本(1.3.2)中也存在,但没有完全支持。
这使得代码无限简单,特别是如果您有大部分DOM是通过dynamic创build或通过Ajax请求创build的。
live
在这里的更多信息: http : //api.jquery.com/live/
live()调用诸如change之类的事件对我来说是一个很大的问题。 现在我一直想要这个。