1、jQuery实现脚本与页面的分离 在HTML代码中,我们还经常看到类似这样的代码: <form id="myform" onsubmit=return validate();"> 即使validate()函数可以被放置在一个外部文件中,实际上我们依然是把页面与逻辑和事件混杂在一起。jQuery让你可以将这两部分分离。借助于jQuery,页面代码将如下所示: 接下来,一个单独的JS文件将包含以下事件提交代码: 代码如下:$("myform").submit(function(){ ...your code here )} 这样我...
创建jQuery插件,基本的格式是上面这段代码: 代码如下: (function ($) { //add code here })(jQuery) 我们怎么理解? 第一步:function ($){}定义了一个匿名的函数,有一个参数,$是参数名,和其他的参数名没什么区别。 第二步:(function ($){})(jQuery) 我们要执行一个匿名函数的时候,通常用var func = function ($) { },然后func(参数)这样的形式。这里func就是一个Function对象。但更简洁的(function ($) {}),这时用括号,...
代码如下: isNull: function(a){ return a === null; }, isUndefined: function(a){ return a === undefined; }, isNumber: function(a){ return typeof a === number; }, isString: function(a){ return typeof a === string; }, isBoolean: function(a){ return typeof a === boolean; }, isPrimitive: function(b){ var a = typeof b; return !!(b === undefined || b === null || a == boolean || a == number || a == string)...
如下 代码如下: IE9/10同时支持script元素的onload和onreadystatechange事件 结果: IE6/7/8 : 弹出2 IE9/10 : 弹出2,1 Firefox/Safari/Chrome/Opera : 弹出1 测试结果可以看出,IE9后已经开始支持script的onload事件了。一直以来我们判断js文件是否已经加载完成就是用以上的两个事件。很久以前就知道IE中使用onreadystatechange事件,事件handler中使用readyState的值判断是否加载完成。其它浏览器使用onload事件。 ...
1,onload事件 代码如下: Link Element onload IE6/7 :IE8/9 :Opera : 即IE6/7/8/9/Opera都支持onload事件, Firefox/Safari/Chrome不支持。 注:用JS创建link标签再添加到head中,情况如上。2,onreadystatechange事件 代码如下: Link Element onreadystatechange IE6/7/8/9中弹出了两次,其它浏览器均没有弹。说明只有IE支持link元素的onreadystatechange事件。弹出两次分别是readyState为loading,comple...
File FileReader 可以干什么? Ajax文件上传例子 FileReader 对象可以读取文件的 Base64编码数据(readAsDataURL),2进制字符串(readAsBinaryString),文本(readAsText)并且都是异步的。 对了,Email拖拽附件上传就可以利用 FileReader 配合 Ajax 完成。 File 对象 File对象可以从 input[type=file].files 数组,和拖拽事件 event.dataTransfer.files 中获取到。 第一张图是 Chrome 下的 File 对象,第2个图是Firefox下的File...
代码如下: var str = "123#abc"; var re = /abc/ig; console.log(re.test(str)); //输出ture console.log(re.test(str)); //输出false console.log(re.test(str)); //输出ture console.log(re.test(str)); //输出false 在创建正则表达式对象时如果使用了“g”标识符或者设置它了的global属性值为ture时,那么新创建的正则表达式对象将使用模式对要将要匹配的字符串进行全局匹配。在全局匹配模式下可以对指定要查找的字符串执行多次...
第一章:加载和执行 浏览器的JavaScript的引擎是编译器层的优化; 当浏览器执行JavaScript代码时,不能同时做其他任何事情(单一进程),意味着标签每次出现都霸道地让页面等带脚本的解析和执行(每个文件必须等到前一个文件下载并执行完成才会开始下载),所以头部的JS和CSS用来渲染页面,交互行为(几乎所有)的JS放在底部; 主流浏览器都允许并行下载JS。 减少外链脚本数量将会改善性能(合并JS) 任何网站都可以使用一个把制定文...
以人为镜,可知得失,看来这句话是很有道理的。 Demo 1 : 如果是一个全局的function,则this相当于window对象,在function里定义的各种属性或者方法可以在function外部访问到,前提是这个function需要被调用。 代码如下: //在function中使用this function a() { if (this == window) { alert("this == window"); this.fieldA = "I'm a field"; this.methodA = function() { alert("I'm a function "); } } } a(); //如果不调用a...
深入学习javascript继承之前,先了解下面的几个概念: 父类:被继承的类 子类:由继承得来的类 超类:也就是父类 抽象类:一般不用来实例化的类,它的用途是用来给其他类继承. 基类:提供给其他类可以继承的类 派生类:由基类继承而来的类 javascript对象继承通常有下面的5种方式: 1.对象冒充 2.call()方式 3.apply()方式 4.原型链 5.混合方式 A.对象冒充 所谓对象冒充,就是新的类冒充旧的类(旧的类必须采用构造函数方式),从而达到继承目的....
然后,我写了如下html:11 12 13 21 22 23 31 32 33 预期效果是:于是我写了如下jQ: $(".a:nth-child(2)").css("color","red"); 运行发现结果竟然是:我百思不得其解啊。。最后发现把JQ改写为: $(".a :nth-child(2)").css("color","red"); 就行了。 注意:a后面有一个空格!!! 虽然问题解决了,但是不知道原因,求高手指点。。。if ($ != jQuery) {$ = jQuery.noConflict(); } var isLogined ...
这是一篇原创翻译文章。原文地址。我们会经常使用iframes来加载第三方的内容、广告或者插件。使用iframe是因为他可以和主页面并行加载,不会阻塞主页面。当然使用iframe也是有利有弊的:Steve Souders在他的blog里面有阐述:Using Iframes Sparingly:iframe会阻塞主页面的onload事件 主页面和iframe共享同一个连接池 阻塞主页面的onload是这两个问题中最影响性能的方面。一般都是想让onload时间越早触发越好,一方面是用户体验过...
$("#id").show()//表示display:block, $("#id").hide()//表示display:none; $("#id").toggle()//切换元素的可见状态。如果元素是可见的,切换为隐藏的;如果元素是隐藏的,切换为可见的。 $("#id").css('display','none'); $("#id").css('display','block'); //或 $("#id")[0].style.display = 'none'; //$("#id")返回的是JQuery12 //它是个集合肯定没有display属性
代码如下: $(function(){ $(":input").focus(function(){ $(this).addClass("focus"); }).blur(function(){ $(this).removeClass("focus"); }); })//这个效果第三个textarea也会添加样式 JavaScript教程/参考手册 JavaScript热搜 Vue利用canvas实现移动端手写板的方法vue2.0 移动端实现下拉刷新和上拉加载更多的示例解决vue-router中的query动态传参问题解决使用vue.js路由后失效的问题微信小程序实现换肤功能JS中t...
每次申明一个jQuery对象的时候,返回的是jQuery.prototype.init 对象,很多人就会不明白,init明明是jQuery.fn的方法啊,实际上这里不是方法,而是init的构造函数,因为js的prototype对象可 以实现继承,加上js的对象只是引用不会是拷贝,new jQuery,new jQuery.fn和new jQuery.fn.init的子对象是一样的,只是有没有执行到init的不同,这里就不讲原因了,等下一篇再讲为什么会是这样。 当我们使用选择器的时候$(selector,content),...