jquery事件

JQuery源码解读 JQ框架简化( 妙味讲堂 - 视频笔记 - 第一部分)

陌路散爱 提交于 2019-12-31 02:46:36
JQuery源码解读 JQ框架简化( 妙味讲堂 - 视频笔记 - 第一部分) 1.1 定义一些变量和函数 jQuery = fuction() {} 1.2 给JQ对象添加一些方法和属性 length 1.3 extend: jQ的继承方法 1.4 jQuery.extend() 扩展一些工具方法 1.5 Sizzle: 复杂选择器的实现 1.6 Callback: 对调对象, 函数的统一管理 function fun1() { console.log(1) } function fun2() { console.log(2) } var cb = $.Callback(); cb.add(fun1); cb.add(fun2); cb.fire(); // 1,2 cb.remove(fun1) cb.fire(); //2 fun1被移除 1.7 Deferred: 延迟对象, 对异步的统一管理 setTimeout(function() { console.log(1); }) console.log(2) // 先输出2,在输出1 setTimeout 异步函数 var dfd = $.Deferred(); //创建延迟对象 setTimeout(function() { console.log(1) dfd.resolve(); }) dfd.done(function

jq插件的封装

◇◆丶佛笑我妖孽 提交于 2019-12-30 05:11:09
jquery插件一般有三种开发方式: { 1. 通过$.extend()来扩展jQuery---------------------$.extend()添加的函数时直接通过$符号调用,而不需要选中DOM元素(相当于给jQuery身上添加了一个静态方法) 2. 通过$.fn 向jQuery添加新的方法-----------------能处理DOM元素以及将插件更好地运用于所选择的元素身上 3. 通过$.widget()应用jQuery UI的部件工厂方式创建 } 具体用法如下: $.extend({ sayHello: function(name) { console.log('Hello,' + (name ? name : 'Dude') + '!'); } }) $.sayHello(); //调用 $.sayHello('test'); //带参调用 2.形式如下: $.fn.pluginName = function() { //your code } 例子: var testObj= function(el, opt) { this.$element = el, this.defaults = { 'color': 'red', 'fontSize': '12px', 'textDecoration':'none' }, this.options = $.extend({

jQuery实现select三级联动

喜你入骨 提交于 2019-12-30 00:05:14
参考:jQuery权威指南 jQuery初步 jQuery选择器 jQuery操作dom jQuery操作dom事件 jQuery插件 jQuery操作Ajax jQuery动画与特效 jQuery实现导航栏 jQuery实现点击式选项卡 jQuery实现select三级联动 效果 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" " http://www.w3.org/TR/html4/loose.dtd "> < html > < head > < meta http-equiv = "Content-Type" content = "text/html;

Python Jquery

余生颓废 提交于 2019-12-29 06:56:04
Jquery 简介    jQuery是一个兼容多浏览器的javascript库,核心理念是write less,do more(写得更少,做得更多),对javascript进行了封装,是的更加便捷的开发,并且在兼容性方面十分优秀。 Jquery学习手册    利用jquer来操作的目的有两个:   1、获取标签   2、来对标签的内容做修改 基本: 1 <body> 2 <div id="n1"> python</div> 3 4 <script src='xxxx.js'></script> 5 <script> 6 //$ 等于jQuery,是封装的一个对象,可以直接 . 来调用 7 $('#n1').text('hello,python') 8 </script> 9 </body> 并列选择 1 $('.c1 , a , #n2').text('ok') #将会遍历到这三个对应的标签,然后text输出 层级选择器 1 <script> 2 3 $('#n3 div .c3 span a').text('kkkk') #层级选择,中间以空格分开 4 5 #('#n3 a').text('kkkk') #如果下面只有一个按标签,这样这么简写,因为n3是包含下面所有内容的,这样写不高效,不如直接定义一个 id,或class 6 </script> 层级: 1 $("form

集成Django和jquery

走远了吗. 提交于 2019-12-29 05:48:22
在《 Django实战 》系列中,简单的提到了 Django + jquery 实现ajax ,但总感觉“意犹未尽”,很多事情都没有说清楚。所以打算专门讨论一下这个话题。ajax可以用在web应用的方方面面,所以用“什锦小菜”的方式,用几个单独的例子来说明常见的使用情况。如果你一定要问为什么是jquery而不是别的什么ajax框架,请参考 这里 。 根据 Django官方的说法 ,Django没有提供内置的ajax支持,而仅仅提供了将python对象序列化(seriallize)成JSON和XML的工具,并推荐了一个库和工具。但我更倾向于使用原生的jquery,自己集成到Django中,这并不难,而且一切对你来说都是可控的。 jquery与Unobtrusive JavaScript 传统的”javascript可能是这样的: <input type="button" id="myField" value="Click me!" onclick="alert("hello")"/> 而Unobtrusive JavaScript(低调的javascript)不建议在HTML标签中夹杂一大堆onXXX属性,去关联到Javascript事件,而是推荐让HTML与Javascript分离: 先加载界面显示元素,再加载javascript; 在Document.onReady事件中

JQuery常用函数及功能小结

老子叫甜甜 提交于 2019-12-29 00:44:05
1.文档加载完成执行函数 $(document).ready(function(){ alert("开始了"); }); 2.添加/删除CSS类 $("#some-id").addClass("NewClassName"); $("#some-id").removeClass("ClassNameToBeRemoved"); 3.选择符 利用了CSS和Xpath(XML Path Language)选择符的能力,以及jQuery独有的选择符 3.1常用的: 1.根据标签名: $('p') 选择文档中的所有段落 2. 根据ID: $("#some-id") 3.类: $('.some-class') 3.2使用CSS选择符: $("#some-id > li") 选择特定id下的所有子li元素 $("#some-id li:not(.horizontal)") 伪类选择,特定id下所有没有.horizontal 类的li元素 3.3使用XPath选择符: 属性选择:$("a[@title]") 选择所有带title属性的链接 $("div[ol]") 选择包含一个ol元素的所有div元素 $('a[@href^=" mailto:%22]' ) 选择所有带href属性[@href]且该属性值以mailto开头^="mailto"(^标识字符串开始,$标识字符串结尾,

你不需要jQuery(二)

Deadly 提交于 2019-12-28 21:10:49
完全没有否定jQuery的意思,jQuery是一个神奇的、非常有用的工具,可以节省我们大量的时间。 但是,有些时候,我们只需要jQuery的一个小功能,来完成一个小任务,完全没有必要加载整个jQuery程序库。下面是一些用简单JavaScript实现jQuery功能特征的代码汇总。当然,这个汇总并不完全,你最好还是看一下《 你不需要jQuery(一) 》 查找搜索(选择器) 按ID查找: $('#foo') document.getElementById('foo') 按class名搜索: $('.bar') document.getElementsByClassName('bar') 按标记名搜索: $('span') document.getElementsByTagName('span') 按子元素搜索: $('#foo span') document.getElementById('foo').getElementsByTagName('span') 搜索特殊元素: $('html') document.documentElement $('head') document.head $('body') document.body 元素属性操作 获取/设置HTML: $('#foo').html() document.getElementById('foo')

jQuery.fn.extend()和jQuery.extend()

情到浓时终转凉″ 提交于 2019-12-28 06:55:04
jQuery.fn.extend( object ) 一个对象的内容合并到jQuery的原型,以提供新的jQuery实例方法。 jQuery.fn.extend() 方法继承了jQuery原型( $.fn )对象,以提供jQuery原型新的方法,可以链式调用 jQuery() 函数。 <!doctype html> <html lang="en"> <head> <meta charset="utf-8"> <title>jQuery.fn.extend demo</title> <style> label { display: block; margin: .5em; } </style> <script src="http://code.jquery.com/jquery-1.9.1.js"></script> </head> <body> <label><input type="checkbox" name="foo"> Foo</label> <label><input type="checkbox" name="bar"> Bar</label> <script> jQuery.fn.extend({ check: function() { return this.each(function() { this.checked = true; }); }, uncheck:

jquery的extend和fn.extend

百般思念 提交于 2019-12-28 06:54:06
jQuery为开发插件提拱了两个方法,分别是: jQuery.fn.extend(object); jQuery.extend(object); jQuery.extend(object); 为扩展jQuery类本身.为类添加新的方法。 jQuery.fn.extend(object);给jQuery对象添加方法。 fn 是什么东西呢。查看jQuery代码,就不难发现。 jQuery.fn = jQuery.prototype = {    init: function( selector, context ) {//....     //...... }; 原来 jQuery.fn = jQuery.prototype.对prototype肯定不会陌生啦。 虽然 javascript 没有明确的类的概念,但是用类来理解它,会更方便。 jQuery便是一个封装得非常好的类,比如我们用 语句 $("#btn1") 会生成一个 jQuery类的实例。 jQuery.extend(object); 为jQuery类添加添加类方法,可以理解为添加静态方法。如: $.extend({   add:function(a,b){return a+b;} }); 便为 jQuery 添加一个为 add 的 “静态方法”,之后便可以在引入 jQuery 的地方,使用这个方法了, $.add(3,4)

jquery的extend和fn.extend

六眼飞鱼酱① 提交于 2019-12-28 06:53:44
jQuery为开发插件提拱了两个方法,分别是: jQuery.fn.extend(object); jQuery.extend(object); jQuery.extend(object); 为扩展jQuery类本身.为类添加新的方法。 jQuery.fn.extend(object);给jQuery对象添加方法。 fn 是什么东西呢。查看jQuery代码,就不难发现。 jQuery.fn = jQuery.prototype = {    init: function( selector, context ) {//....     //...... }; 原来 jQuery.fn = jQuery.prototype.对prototype肯定不会陌生啦。 虽然 javascript 没有明确的类的概念,但是用类来理解它,会更方便。 jQuery便是一个封装得非常好的类,比如我们用 语句 $("#btn1") 会生成一个 jQuery类的实例。 jQuery.extend(object); 为jQuery类添加添加类方法,可以理解为添加静态方法。如: $.extend({   add:function(a,b){return a+b;} }); 便为 jQuery 添加一个为 add 的 “静态方法”,之后便可以在引入 jQuery 的地方,使用这个方法了, $.add(3,4)