2012.05.15
今天接着昨天的内容看,简单点记录吧,今天还是有收获的,现在给自己定下了一些规则,对一些有收获的知识点,用波浪号标记,对一些不知道的、不肯定的,且需要验证的地方,用星号表示,如果看的途中有些想法觉得需要验证,就用笔记下来,并标上星号(暂时这些笔记都直接写在书上,貌似不太爱惜书本啊··)
有收获的知识点:
1. 文本框的keypress事件仅对那些能表示文本框内出现的字符的按键才触发。keydown事件则是不管哪个按键按下都会触发。
(验证后确实如此,ctrl,alt,方向键都不触发keypress事件; 但退格键可以触发keypress,因为该键可改变文本框内出现的字符)
2.空字符串和数字比较时,被认为是0,或被转换为0.验证如下:

1 1>"" // return true; 2 0>"" // return false; 3 0=="" // return true; 4 -1>"" // return false;
3.select标签原来还有size和multiple属性,而option有index和selected属性。
对于select标签,书中的描述是:
当没有size属性时,select标签被渲染成组合框,也就是平常我们用的下拉列表。
代码:(为了好看 ,加了50px的宽度)

<select id="ddl" style="width:50px;"> <option value="1">1</option> <option value="2">2</option> <option value="3">3</option> <option value="4">4</option> <option value="5">5</option> </select>
表现:
当有size属性时,select标签会被渲染成列表框。
代码:

<select id="ddl" size="3" style="width:50px;"> <option value="1">1</option> <option value="2">2</option> <option value="3">3</option> <option value="4">4</option> <option value="5">5</option> </select>
表现:
这是列表框还是单选的,但是在加上multiple="multiple"属性后,就变为多选:
这是书中的内容,我发现size会控制默认显示的行数,我就想,那height呢?对列表框的高度是size优先还是height优先呢? 经过验证,是height优先,具体自己试验吧。
对于option标签的index和selected属性,用得比较少,平时用option时,都感觉心里没底,不知道到底有哪些属性,兼容性如何,现在心里总比之前有底些了。
4. 当字符串和数组对象相加时,数组对象会自动toString(),返回逗号分隔的字符串。
var arr = []; arr.push("a"); arr.push("b"); var str = "arr is:"+arr; // return arr is:a,b
5.IE中的onpaste事件
按书中描述,该事件仅IE兼容,在对文本框进行粘贴内容时被触发(如CTRL+V), 虽然兼容性不好,不过由于IE中,JS无法用onkeypress事件来阻止CTRL+V的按键组合,所以当需要限制文本框的输入时,这个事件也变得必不可少。
测试后确实如此,测试环境是:
Firefox 10.0.2
IE8
代码:

1 <input type="text" onpaste="return paste();" onkeypress="return myPaste(event);"> 2 3 <script type="text/javascript"> 4 function paste(){ 5 alert("paste"); 6 return false; 7 8 } 9 10 function myPaste(ev){ 11 var ev = ev || window.event; 12 if(ev.ctrlKey && ev.charCode=="118"){ 13 alert("my paste"); 14 return false; 15 } 16 } 17 </script>
注意:在firefox下用event对象的属性获取当前按的是什么键时,不能用keyCode,而应该用charCode,因为在使用组合键时(CTRL/ALT等和其他键同时按下),keyCode的值是0。 而在IE8下,使用CTRL和ALT的组合键时,keypress事件都不执行。
今天的记录就到这里。这次没怎么注意排版,以后写多了会慢慢注意。
--2012.5.15
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了