zoukankan      html  css  js  c++  java
  • 2012.05.15

    今天接着昨天的内容看,简单点记录吧,今天还是有收获的,现在给自己定下了一些规则,对一些有收获的知识点,用波浪号标记,对一些不知道的、不肯定的,且需要验证的地方,用星号表示,如果看的途中有些想法觉得需要验证,就用笔记下来,并标上星号(暂时这些笔记都直接写在书上,貌似不太爱惜书本啊··)

    有收获的知识点:

    1. 文本框的keypress事件仅对那些能表示文本框内出现的字符的按键才触发。keydown事件则是不管哪个按键按下都会触发。

    (验证后确实如此,ctrl,alt,方向键都不触发keypress事件; 但退格键可以触发keypress,因为该键可改变文本框内出现的字符)

    2.空字符串和数字比较时,被认为是0,或被转换为0.验证如下:

    View Code
    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的宽度)

    View Code
    <select id="ddl" style="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标签会被渲染成列表框。

      代码:

    View Code
    <select id="ddl" size="3" style="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

      代码:

    View Code
     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

  • 相关阅读:
    IDEA 配置Springboot项目热部署
    一文读懂类加载机制
    面试必问的MySQL锁与事务隔离级别
    工作中遇到的99%SQL优化,这里都能给你解决方案(三)
    谁有好的oracle数据库学习书籍,麻烦提供一下,感激不尽
    静态资源上传至远程ftp服务器,ftp工具类封装
    进程和线程,并发和并行,同步和异步,高并发和多线程,理一理概念
    使用springboot集成腾讯云短信服务,解决配置文件读取乱码问题
    曾经天真的以为单例只有懒汉和饿汉两种!原来单例模式还能被破解!!!
    了解一下zookeeper,搭建单机版和集群版的环境玩玩,需要手稿的,留下邮箱
  • 原文地址:https://www.cnblogs.com/bee0060/p/2502677.html
Copyright © 2011-2022 走看看