您现在的位置:首页 --> 查看专题: Jquery
在3.0主版本中,jQuery Core团队对API进行更改及清理,并修复某些代码更改引起的bug。这包括删除以前弃用的公开API,更改或删除未记录的API,并更改现有API的记录或未记录的行为用于特定输入。
最近遇到这样一个问题,后端用Scala结合Play框架,前端jQuery+Bootstrap, 需求是这样的,其实跟SO上的这个问题一样, 根据Ajax的Post请求要求server端或者直接返回Json数据或者直接返回可以下载的file文件。搜索了下问题,貌似单独一次ajax请求搞不定。
如何在一个页面上让多个jQuery共存呢?比如jquery-1.5和jquery-1.11。
你可能会问,为什么需要在一个页面上让多个jQuery共存?直接引用最新版本的jQuery不行吗?
答案是,不行。因为现实生活是非常残酷的。
我记录这篇文章的目的是提高jQuery的性能和其他一些好的建议。如果你想深入的研究对这个话题你会发现很多乐趣。记住,jQuery并非不可或缺,仅是一种选择。思考为什么要使用它。DOM操作?ajax?模版?css动画?还是选择符引擎?或许javascript微型框架或jQuery的定制版是更好的选择。
介绍jQuery的编码标准和最佳实践
在以前, 如果想做一个全选和全不选的功能, 用 jQuery 非常简单, 就是设置 checked 属性. 但今天见鬼了, 以前能正常工作的代码无论如何也不能工作.
正好接下来的工作中可能需要一个手风琴效果,就动手写了一个。其实有多个现成的jQuery手风琴插件可以用,但对比了一下,总感觉有些笨重,还是自己写的脉络自己最清楚,扩展起来也更容易些。可用于图片或者容器,使用与常规jQuery插件调用方式无异。实现原理也不难理解,都在代码注释中。想研究的可以看下面的代码,或者样例演示。
出于跨域资源共享的需要,很多浏览器开始支持cors,如果浏览器支持了cors(假设server端也做了相应的配置),则,jQuery.ajax似乎应该支持302才是,如果自己实现,请注意,如果需要上行cookie(一般是需要的),需要设置 xhr.withCredentials=true
随着web2.0的彪悍发展,以及浏览器端所承载的工作越来越大(在不是很影响性能的情况下,开发者都习惯把能用浏览器做的事儿都让浏览器做,以减轻服务器的压力和带宽费用等)。所以Javascript已经成为了web开发最最基本的要求之一了。 而在现实的敏捷开发中,我们通常会选择一个JS框架来取代繁琐的Native Javascript的编写。
如果你使用jQuery类库,那么你可以非常愉悦的使用jquery的data()方法存取data-*自定义属性,方法允许我们在DOM元素上绑定任意类型的数据,避免了循环引用的内存泄漏风险。
许多的 JS 框架类库都选择使用 $ 符号作为函数或变量名,jQuery 是其中最为典型的一个。在 jQuery 中,$ 符号只是 window.jQuery 对象的一个引用,因此即使 $ 被删除,window.jQuery 依然是保证整个类库完整性的坚强后盾。jQuery 的 API 设计充分考虑了多框架之间的引用冲突,我们可以使用 jQuery.noConflict 方法来轻松实现控制权的移交。
就我的个人习惯来说,不管开发什么项目,即使是一个很简单的demo,我做的第一件事就是引入jQuery,这样做主要是想使用它提供的DOM选择器功能。对于一些像IE6/IE7这样的老式浏览器,这种做法是显而易见的,但是,如今现代浏览器里已经内置了完整的DOM选择器功能,能让你使用原生的浏览器提供的方法来实现jQuery的功能。
事件委托,是一种优化DOM元素事件绑定的技巧,利用事件冒泡的原理,通过绑定事件到父元素,检查event触发元素的target,最终执行相应的事件函数处理,它的几个好处一般前端开发程序员都知道。在jQuery中,一般是delegate()方法和.live()方法,但是,如何选择事件委托的方法,或者在什么情况下用.live(),什么情况下用.delegate(),这个值得讲一讲。
用过jQuery的朋友都知道他强大的链式操作,方便,简洁,易于理解,如下 1.jQuery的链式操作是如何实现的? 2.为什么要用链式操作? 链式操作 原理相信百度一下一大把,实际上链式操作仅仅是通过对象上的方法最后 把对象再返回回来,对象当然可以继续调用方法啦,所以就可以链式操作了。那么,简单实现一个: 但……为什么要用呢? 一般的解释:节省代码量,代码看起来更优雅。 例如如果没有链式,那么你可能需要这样写代码: 这个代码中调用了两次document.getElementById来获取DOM树的元素,这样消耗比较大,而且要写两行,而链式只要写一行,节省了代码…… 但我们也可以用缓存元素啊。比如: 而且两行并没有比一行多多少代码,甚至相应的封装反而使得代码更多了。 最糟糕的是所有对象的方法返回的都是对象本身,也就是说没有返回值,这不一定在任何环境下都适合。
jQuery 1.9删除或修改了几个过去行为不一致或效率低下的几个API。他们在以前的jQuery版本中已经标注过过时(deprecated)的API,特别是1.7和1.8。
在做这些变化中,团队的目标是修复jQuery的行为不一致或比较难使用的地方,在这个过程中提高整体性能,减小了文件的体积。
此列表是看似给你一些不祥的预感。因为jQuery 1.9删除和修改一些以前做特殊需求的API,比如jQuery.browser。如何升级?首先,看看你的代码,最好的方法是尝试用jQuery 1.9和Migrate(迁移)插件(如下文所述)。
本指南作为标准的jQuery API文档的附录,作为快速上手jQuery 1.9的引导。
网上发现一个很有意思的jQuery旋转插件,支持Internet Explorer 6.0+ 、Firefox 2.0 、Safari 3 、Opera 9 、Google Chrome,高级浏览器下使用Transform,低版本ie使用VML实现。
jQuery绝对是一个伟大的开源javascript类库,是帮助我们快速和高效开发前端应用的利器。可能大家在日常的开发过程中常常会处理表单相关的javascript,在今天这篇代码片段分享文章中,这里收集了10个超棒超实用的jQuery表单处理代码,希望能够在大家的开发过程中帮助大家更好更快的处理表单相关问题,希望大家喜欢!如果你也有相关的代码,请大家积极分享!
近3天十大热文
- [71] Twitter/微博客的学习摘要
- [65] IOS安全–浅谈关于IOS加固的几种方法
- [65] 如何拿下简短的域名
- [63] Go Reflect 性能
- [63] find命令的一点注意事项
- [62] android 开发入门
- [61] 流程管理与用户研究
- [59] 读书笔记-壹百度:百度十年千倍的29条法则
- [59] 图书馆的世界纪录
- [59] Oracle MTS模式下 进程地址与会话信
赞助商广告