通往 1.1 的道路
只是一个简短的更新,让大家了解情况:jQuery 开发团队目前正在开发即将发布的 jQuery 1.1 版本。因此,SVN 在接下来的几周内将发生相当大的变化。以下是当前的计划。
- jQuery 1.1a **1 月 7 日** - 快速发布 alpha 版本,帮助大家测试代码并将其迁移到即将发布的 1.1 版本。
- jQuery 1.1 **1 月 14 日** - 这将是正式发布版本,与 jQuery 的一周年纪念日相吻合。
需要注意的是,**jQuery 1.1 与 1.0 不兼容**。这些变化将以不同的方式发生,但到目前为止,计划更改的内容如下。
- 诸如 .oneclick() 和 .unclick() 之类的方法将被 .one(“click”)(新的)和 .unbind(“click”) 所取代。我们发现这些方法的使用频率不足以支持它们所需的 70 多个 API 条目。
- 选择器 :nth-child()、:gt()、:lt() 和 :eq() 的计数将从 1 开始,而不是从 0 开始,这与 CSS 规范一致。(这是一个错误修复,但会导致 API 的偶然变化)
- 一些 CSS 辅助方法将被弃用,例如:.color() 和 .background()。您应该开始使用 .css(“color”) 和 .css(“background”) 来代替它们。
- 一些属性辅助方法,例如 .title() 和 .rel() 将被弃用。您应该开始使用 .attr(“title”) 和 .attr(“rel”) 来代替它们。
这一切都是为了减少包含在 jQuery API 中的方法数量。减少 70 多个条目将显著缩减文档的大小,并使其更容易维护和阅读。
如果您对 jQuery 代码库的发展方向感兴趣,请随时订阅 jQuery 开发邮件列表,在该列表中,jQuery 开发团队将深入讨论所有这些问题。
**更新:**我忘记提到将有一个兼容性插件来帮助您过渡到 jQuery 1.1。这样,您就可以在可预见的将来继续使用 .oneclick()(以及所有其他方法)(即使它可能不在 jQuery 核心代码中)。
太棒了!
我非常喜欢您尝试让 JQuery 尽可能轻量化,并且仅仅简化了一些棘手的操作,例如事件和 AJAX。
JQuery 对我帮助很大!
感谢所有 JQuery 团队成员!
提到的更改确实很有意义。不过,我有一个建议:如何将 .one(“click”) 更改为 .once(“click”)?这个名称似乎更好地描述了该函数的实际用途。:)
jquery 正在迅速成为我最喜欢的网络技术之一。:)
1) 让我经常感到困惑的一件事是许多方法看起来非常相似。例如,在 DOM 操作部分,以下方法之间的区别并不明显:before(..)、prepend(…)、insertBefore(…),而且由于每种方法都有多种实现方式,因此库看起来比实际需要的大。
2) 使用 jquery 进行 DOM 遍历和操作非常容易,我建议添加一些用于特定小部件的操作符。例如,提供一种访问表格列的方法(对于新手来说可能很困惑,因为列跨行分布,而行可能跨越 thead、tbody、tfoot 等)。
3) 改善插件页面。提供一种查看新插件、更新的插件、请求的插件等的方法。还可以将一些插件“一流化”,换句话说,一些插件变得足够重要,因此要么应该将它们包含在 jquery 中,要么以某种方式将其设置为“官方”插件(因此不止一个人负责维护它们)。以下是一些示例:表格排序、拖放、DOM、简单的 DOM 创建等。
4) 也许提供某种数据绑定框架,以便可以将数组绑定到列表(或者将多维数组绑定到表格)并使用简单的函数。允许这种绑定在底层数组更改时更新 HTML 小部件(反之亦然)。允许用户将小部件“连接”在一起,例如,单击一个列表会更新另一个列表……不过,这可能需要由 jquery 大师来完成,而不是将其包含在核心代码中。
感谢 falcon 的建议。
1) 这与 API 文档有关,因为底层实现并不关心您传入的参数。但是,可以通过将不同的参数合并到一个方法描述中来减少这些方法的文档。
如果您发现 API 文档存在问题,请在这里发布:https://jqueryjs.cn/dev/bugs/bug/353/
2) 非常好的观点。当处理大型表格时,选择表格列非常棘手,因为您需要依赖可用的原生属性。首先,可以将这些有趣的代码从表格排序器中提取到单独的插件中。
3) 我考虑过将不同类型的插件放到它们自己的页面上。这样会有帮助吗?首先。
4) 这应该作为插件开始。已经有一些带有某种数据绑定的插件,尤其是那些表格行编辑器插件。将它们的一部分抽象出来以实现更通用的数据绑定方法将是一件很有趣的事情。
列
类似于 $(“table td:nth-child(1)”) 应该返回第一列中的所有单元格。如果遇到 colspan,可能会变得更加复杂。
快速提问……$(‘a’).click() 之类的方法怎么样?不确定它们是否与 unclick() 和 oneclick() 一起被删除……
click(Function) 和 click() 不会被删除。
关于“将不同类型的插件放到它们自己的页面上”。
我发现的问题是,每当我返回插件页面时,我都无法区分哪些是新添加的插件,哪些是更新过的插件。插件似乎已经按照其用途进行了分组,也许另一个列出“最新”插件的页面可以解决这个问题。
谢谢。
Pingback: Ajaxian » 通往 jQuery 1.1 的道路
之前有人说过,find() 和 filter() 之类的方法将不再修改 jQuery 内部堆栈,而是将一个带有修改后的堆栈的新 jQuery 对象返回给用户(或者类似的东西,有点像 myString.substring(0, 5) 返回一个全新的字符串,而不是直接修改 myString 的内部表示)。关于这方面有什么消息吗?
@Aaron – 没错,这将在本版本中发布!还有一些功能即将推出(我在本文中没有提及);我只想提醒大家即将发生的变化,让大家保持警觉。还有一些事件处理方面的改进即将推出,以及巨大的速度提升(我很快就会提供有关这些内容和更多内容的详细信息。)
@John – 太棒了!迫不及待地想听到所有内容!
JQuery 对我来说是一个巨大的省时工具,这是一件很棒的作品,感谢各位女士和先生们。1.1 版本会有一些速度提升吗?
@Marc – 速度大幅提升。这是我们过去几周的重点。我们很快就会发布一些最终数据,但我们预计速度将提高 4 倍至 10 倍——某些选择器甚至会提高 30 倍。当它可以使用时,我们一定会让大家知道。
@Jörn – 如果你要保留 click(Function) 和 click(),那么我建议将它们重命名为不那么误导的名称,例如 onClick(尽管人们可能会将它与 element.onclick 混淆,这可能会让他们相信 jQuery 只支持“旧式”事件处理,但至少它不会让他们认为它调用 element.click())。
如果你决定不重命名它们,那么文档应该强烈强调这些方法的作用和不作用,这样我们就不会遇到更多类似问题 #134 (https://jqueryjs.cn/dev/bugs/bug/134/) 的混淆。
建议,而不是
one(‘click’), unbind(‘click’)
怎么样
bind(‘click’), unbind(‘click’)
@David – 实际上,一直都有 .bind(‘click’),这在本次发布中不会改变。所以,会有
.bind(‘click’), .one(‘click’), 和 .unbind(‘click’)
嘿!感谢你提供了很棒的库。我最近刚从 mootools 转过来,因为他们缺乏帮助。无论如何,我发现你的库很棒!但是,我想知道你是否有一个 bind(“rightclick”, function)。我正在我的一个项目中尝试实现一个上下文菜单。如果没有,你能给我指明正确的方向吗?此外,在你的下一个版本中包含它会很棒,也许吧?
简单来说,我喜欢提议的更改!在这种情况下,越少越好,我认为你可以从 jQuery 中删除更多“便利”方法,例如 CSS 属性,甚至 .click(),这就是 bind(‘click’) 的用途,对吧?
thai: 我认为你正在寻找“contextmenu”事件。至少 Firefox 是这样称呼它的。
如果 1.1 与 1.0 不兼容,那么你应该把它编号为 2.0!
听起来不错——请保持简洁、紧凑、一致和正交。
>>我发现的问题是,每当我回到插件页面时,我无法分辨哪些是新添加的插件,哪些是更新的插件。插件似乎已经根据其用途进行分类
听起来像表格排序插件的任务!
Pingback: 网站和内容(需要想一个真正的名字,我知道) » jQuery
Pingback: jQuery: 博客: » jQuery 1.1a
Pingback: » jQuery 1.1a 带来的巨大速度提升 - 15 Days Of jQuery