如何实现一个可以拖拽的div?其实很简单,我们捋清思路,很快便能实现。首先div的拖拽,如果把div当作一件物品,我们拖拽的时候是因为手抓住了这件物品,因此我们走到哪里,东西就到了哪里。但是鼠标是没有办法抓住div的,写代码不会那么直来直去,有时候像魔术,需要使用一些障眼法,使最终看起来达到了效果。抛开过程不谈,只看结果,拖拽实现的最终效果是,鼠标到哪里,div就跟到哪里。知道了这一点,那就继续分析,这不就是位移...
上文提到,jquery的事件绑定有bind(),delegate()和one()以及live()方式。我用的jQuery2.1.3版本,live()已经被废弃了。bind(),delegate()和one()的内部源码。//7491行
bind: function( types, data, fn ) {returnthis.on( types, null, data, fn );},
//7498行
delegate: function( selector, types, data, fn ) {returnthis.on( types, selector, data, fn );},
//7474行
jQuery.each( ("blur focus focusin focusout load res...
每次看到三元表达式就会惶惶然分不清如何读,正如语文中的断句一样,jquery源码中的三元表达式更是不知如何断句。附jquery中的inArray实现。大家熟悉jquery的应该都不陌生inArray的用法。在源码实现中,先判断了arr是否存在,如果不存在,则可直接返回-1,否则进行后续判断,当存在indexOf方法时,则直接使用call来调用indexOf方法。否则继续。在jquery代码中处处体现代码构建者对于javascript的深刻理解,譬如这里对arr.length的缓...
AJAX 的出现使得网页可以通过在后台与服务器进行少量数据交换,实现网页的局部刷新。但是出于安全的考虑,ajax不允许跨域通信。如果尝试从不同的域请求数据,就会出现错误。如果能控制数据驻留的远程服务器并且每个请求都前往同一域,就可以避免这些安全错误。但是,如果仅停留在自己的服务器上,Web 应用程序还有什么用处呢?如果需要从多个第三方服务器收集数据时,又该怎么办? 一、关于ajax跨域的思考 1、Ajax为什么不能跨...
这次学习 jQuery 源码,基于当前最新的版本,3.3.1,源码地址:jquery 先说一下LIFE函数;LIFE函数其实方法挺多的,CODE如下(function(){...})()!function foo(){...}();
+function foo(){...}();
void function() {...}();var a = function(){...}();但是在jquery中的立即执行或许比较迷惑(反正我是迷惑了)( function( global, factory ) {"use strict";if ( typeof module === "object" && typeof module.exports === "objec...
(在看以下内容之前请先对原型链有一定的了解,比如:prototype是对象还是函数?)在看jQuery的其他源码之前,必须对jQuery的数据结构有一定的了解。jQuery的核心很简单,jQuery工厂函数和jQuery对象,其他的都是各个功能模块工具函数。jQuery工厂函数主要有两个作用,生成jQuery对象和充当其他工具函数的命名空间(总不能把那些函数命名成全局函数来污染了全局变量吧)。但jQuery工厂函数不是简简单单地直接new jQuery()来生成jQuery对...
说到jQuery, 大家可能直觉的认为jQuery的源码应该就是一个jquery.xx.js这样的一个文件. 但是看到真正的源码的时候, 整个人都思密达了.jQuery的源码做的事远比你想象的多, 为了保证代码的可维护性, 健壮性, 通用性等等, jQuery将各个功能模块独立成单个的js文件, 并通过依赖管理管理模块之间的依赖关系, 在构建的时候通过这种依赖关系将各个模块合并成一个js文件, 最后经过压缩混淆等步骤才会产生我们经常用的jquery.xx.min.js文件(...
最近Dojo和jQuery双双发布了最新的1.8版本,有着相同版本号的两个Javascript库也有许多核心的相同之处:相同的资源加载机制AMD、相同的选择器 引擎Sizzle等。作为业界知名的Javascript库,Dojo和jQuery在各自领域有着为数众多的拥护者。不过正所谓一把钥匙开一把锁,对一个项目来说肯定有个最适合它的工具库,用对了工具才能事半功倍。所以对项目经理或是技术总监来说,工程开始前的技术选型是关键一步,本文将对Dojo和 jQuery最新...
jQuery 1.9.1源码分析已经完毕。目录如下jQuery-1.9.1源码分析系列(一)整体架构jQuery-1.9.1源码分析系列(一)整体架构续jQuery-1.9.1源码分析系列(二)jQuery选择器jQuery-1.9.1源码分析系列(二)jQuery选择器续1jQuery-1.9.1源码分析系列(二)jQuery选择器续2——筛选jQuery-1.9.1源码分析系列(三) Sizzle选择器引擎——词法解析jQuery-1.9.1源码分析系列(三) Sizzle选择器引擎——编译原理jQuery-1.9.1源码分析系列(...
jQuery源码分析-03构造jQuery对象-源码结构和核心函数jQuery.fn和jQuery.prototype区别 原文:http://www.cnblogs.com/littlewriter/p/6391445.html
$.when的说明描述: 提供一种方法来执行一个或多个对象的回调函数,返回这些对象的延时(Deferred)对象。 说明(结合实例和源码): 如果你不传递任何参数, jQuery.when()将返回一个resolved(解决)状态的promise对象。 如果向jQuery.when()传入一个参数 , 并且它不是一个Deferred或Promise对象, 那么它会被当作是一个被解决(resolved)的延迟对象,并且绑定到上面的任何 doneCallbacks 都会被立刻执行。向 doneCal...
准备工作·Customer类 public class Customer{ public int Unid { get; set; } public string CustomerName { get; set; } public string Memo { get; set; } public string Other { get; set; }} ·服务端处理(Json_1.ashx) Customer customer = new Customer { Unid=1,CustomerName="宋江",Memo="天魁星",Other="黑三郎"};string strJson = Newtonsoft.Json.JsonConvert.SerializeObject(customer);context....
闲来无事,在网上发现了一篇对比AngularJs和Jquery的文章.恰好最近自己也在研究AngularJs.特此收藏.需要的朋友可以参考.原问题:假如我熟悉利用jQuery去开发客户端应用,那么我怎么上手angularjs,能否描述下所需要的模式转变,下面这些问题能够帮助你给出一个回答:1.在设计客户端web应用的时候有什么区别,最大的区别是什么?2.我应该停止使用哪些技术,同时又使用哪些技术作为替代?3.是否存在服务端需要考虑的东西或者说一些限制...
jQuery.Callbacks()提供的回调函数队列管理本来是延时回调处理的一部分,但是后面将其独立出来作为一个模块。jQuery就是这样,各个模块间的代码耦合度是处理的比较好的,值得学习。虽然是从延时回调处理中独立出来的,但是它的功能非常强大,提供了一种强大的方法来管理回调函数队列。 大家都明白封装函数的目的:去耦合与简化操作。 通常情况下函数队列的处理方式//执行函数function runList(arr){for(var i = 0; i < arr.l...
在网上看到一款拼图游戏游戏,发现它是js写成的,于是想看一下它的实现方法,经过代码去余冗和修改,我们来分析这段代码的精妙。 1. HTML部分复制网页的源代码,去掉与拼图功能无关,并根据CSS文件去掉具体内容标签,得到一个简单的HTML页面<html><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8"><title>jQuery拼图</title><script type="text/javascript" src="jquery.min.js"></script><script type=...