随笔分类 - Javascript
1
摘要:标准构建如果项目遵循推荐的标准目录结构:foo-module/ |-- dist //存放构建好的文件 |-- src //存放 js、css 等源码 | |-- foo.js | `-- style.css `-- package.json //模块信息那么构建很简单。首先安装 spm 工具:$ npm install spm -g$ npm install spm-build -g然后运行构建命令:$ cd foo-module$ spm build这样,就会根据 package.json 中的信息,将文件自动构建到 dist 目录下。构建...
阅读全文
摘要:关于base的默认路径:【官方说明】: 模块系统的基础路径即 base 的默认值,与 sea.js 的访问路径相关: 如果 sea.js 的访问路径是: http://example.com/assets/sea.js则 base 路径为: http://example.com/assets/当 sea.js 的访问路径中含有版本号时,base 不会包含 seajs/x.y.z 字串。 当 sea.js 有多个版本时,这样会很方便。如果 sea.js 的路径是: http://example.com/assets/seajs/1.0.0/sea.js则 base 路径是: http://exa
阅读全文
摘要:// 主复选框// 子复选框项var $ckAll = $("input[name='ckAll']");var $ckItm = $("input[name='ckItm']");var len = $ckItm.length;$ckAll.click(function() { // 获取$ckAll当前选中状态,如果选中,其他子复选框则选中,反之则取消 $ckItm.prop('checked',this.checked);});$ckItm.click(function() { // 给b绑定判断事件
阅读全文
摘要:问题描述:datebox时间控件有些场景下默认值需要为空,但是为空的情况下打开页面会自动验证,十分影响美观。实现原理:猜想:上面的实例化过程很有可能是先附加验证规则,再进行控件实例化,由于控件实例化触发事件,相应的也触发了验证规则,所以打开页面的时候,就会出现验证的情况。所以解决方法就是:验证规则在控件实例化后添加。可以用setTimeout来延迟:html代码:js代码:setTimeout(function(){ $("#dd").datebox({ required:true });},500);待解决:combox控件也有相应问题,但是上述方法无法...
阅读全文
摘要:1、保存浮点数(小数点)需要内存空间是整数的两倍2、var num = parseInt(010,10);按照十进制解析,默认010是按照八进制解析3、toString(16)输出十六进制的字符串,如10.toString(16)的值是a,但是不能将null和undefined转换成字符串,可以用string();4、++i和i++,最重要的区别是i++是在求值后执行: var i1 = 1; var i2 = 2; var i3 = ++i1 + i2;//4 var i4 = i1 + i2;//4 -------------------------...
阅读全文
摘要:javascript可以用arguments定义参数组。一、简单的定义参数默认值function test1(a,b){ //如果有参数一,则返回参数一,如果没有返回默认值"这是参数一" var a = typeof(arguments[0])!=="undefined"?arguments[0]:'这是参数一'; //如果有参数二,则返回参数为,如果没有返回默认值"这是参数二" var b = typeof(arguments[1])!=="undefined"?arguments[1]:'
阅读全文
摘要:关键方法:sort()用于对数组的元素进行排序。return a.num-b.num是升序;return b.num-a.num;是降序writeln在输出后面加\n,在文档里是换行,在html里是解释称空格。$.post("json.json",function(data){ data.sort(function(a,b){return a.num-b.num;}); for(var i=0;i<data.length;i++){ var nums=data[i].num; ...
阅读全文
摘要:用到的方法有:substr()和substring()substr(star,length);star开始的位置,可以为负数,-1则从倒数第一个开始,-2倒数第二个;length为字符串的长度。非负数,可省略,若省略,则返回开始位置到结束位置的字符串。substring(star,stop);star开始的位置,非负数;top结束的位置,非负数。//索引位置|h|d|u|1|0|4|.|c|o|m|0 1 2 3 4 5 6 7 8 9 10substr()实例:var url="hdu104.com";var url_str=url.substr(1);//提取从索引位置
阅读全文
摘要:例子:屏蔽浏览器F5刷新,代用刷新iframe框架// 捕获F5事件$("body").keydown(function(e){ var ev = window.event || e; var code = ev.keyCode || ev.which; if (code==116) { // 阻止默认的F5事件 if(ev.preventDefault) { ev.preventDefault(); }else { ev.keyCode=0; ev.returnV...
阅读全文
摘要:父窗口中操作iframe:$(window.frames["iframeChild"].document) //假如iframe的id为iframeChild在子窗口中操作父窗口:$(window.parent.document)接下来就可以继续获取iframe内的dom了。获取iframe内的dom对象有两种方法1 $(window.frames["iframeChild"].document).find("#child")2 $("#child",window.frames["iframeChild&
阅读全文
摘要:有时候会出现多位工程师在同一页面写js的情况,很有可能工程师A定义了变量a,然后工程师B又定义了这个变量,如下:<script> var a="abc"; do something..... var a="def"; do something......</script>它们都是直接定义在window作用域下的,所以就会发生冲突隐患。如何避免这种冲突隐患呢?最简单最有效的方法就是用匿名函数将脚本包起来,如下:<script>(function($){ var a="abc"; do somethin
阅读全文
摘要:布尔值是一种逻辑运算,它返回的只有true和false,并转换成1和0;简单的运用:<div class="bool">布尔值运用</div><script> $(".bool").hover(function(e){ var b="mouseenter"==e.type;//当鼠标指针移到元素bool上的时候,给b绑定鼠标hover事件,判断是否是"mouseenter"。 $(this).text(b?'是':'不是');//如果是则返回tru
阅读全文
摘要:// 加入收藏function AddFavorite(sURL, sTitle) { sURL = encodeURI(sURL); try{ window.external.addFavorite(sURL, sTitle); }catch(e) { try{ window.sidebar.addPanel(sTitle, sURL, ""); } catch (e) { alert("加入收藏失败,请使用Ctrl+D进行添加,或手动在浏览器里进行设置."); ...
阅读全文
摘要:先说一下parent和parents的区别从字面上不难看出parent是指取得一个包含着所有匹配元素的唯一父元素的元素集合。parents则是取得一个包含着所有匹配元素的祖先元素的元素集合(不包含根元素)。可以通过一个可选的表达式进行筛选。可以看出parent的取值很明确,就是当前元素的父元素;parents则是当前元素的祖先元素。下面列出例子说明:<div id='div1'><div id='div2'><p></p></div><div id='div3' class=
阅读全文
摘要:大家可能会经常看到一些HTML里都带有data属性,这些都是HTML5的自定义属性,可以做很多事情,直接调用JS十分方便,虽然是HTML5的属性,但好在jQuery通用的,所以基本在所有浏览器里都是可以正常使用的,包括低版本的IE。下面为大家简单介绍一下使用方法:1、简单使用<div id="widget" data-text="123456"></div> $(function(){ var _widget= $("#widget").attr("data-text"); alert(_w
阅读全文
摘要:一般情况下两者的调用结果是一样的,但是还是有区别的。第一种方式:function a(){ alert('old'); }var b=a;function a(){ b(); alert('new'); }a();//浏览器就会出现内存溢出的情况第二种方式:function a(){ alert('old'); }var b=a;var a=function(){ b(); alert('new'); }a();//浏览器就会按顺序alert出‘old’和‘new’这里就可以很明显区分两个方式的区别了。定义的顺序不同。第一种,刚开
阅读全文
摘要:<div id="p_box" onclick="a()"> <div id=p_cont> </div></div>#p_box包括#p_cont,当点击#p_box区域任何位置时(包括#p_cont),都会触发a事件。想要阻止点击#p_cont区域时触发a事件,需要在#p_cont区域内加入阻止事件冒泡的代码。变成<div id="p_box" onclick="a()"> <div id="p_cont" onclick=&
阅读全文
摘要:就单单的++i和i++效果是一样的。但是i=i++;和i=++i是有很大区别的。i=i++是在函数执行后进行i+1;i=++i;是在函数执行前进行i+1;
阅读全文
摘要:最近又把锋利的jQuery看了一遍,又有了新的收获:1、end()遍历方法end() 方法结束当前链条中的最近的筛选操作,并将匹配元素集还原为之前的状态。<ul><li class="li1"></li><li class="li2"></li></ul>$("ul li").find('li1').css({color:'red'}).end().find('li2').css({color:'black&
阅读全文
摘要:1.使用最新的jquery版本 明河觉得这个建议有待商榷,虽然越新的jquery版本性能上更加优秀,但是有些方法的变迁还是会导致一些bug,比如从1.4.2到1.5时很多朋友就抱怨ajax上出现问题了。明河的建议是旧的页面的jquery升级需谨慎,新项目可以大胆的使用jquery新版本。还有个建议是使用google的cdn上的jquery文件,加载速度更快。猛击Google Libraries API 进入查看。<!-- Include a specific version of jQuery --><script src="http://ajax.googleap
阅读全文
1

浙公网安备 33010602011771号