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

  • 相关阅读:
    简单说说数据库表设计的三种范式
    存储过程简单的动态订单号
    Asp.Net页面生命周期
    jq 小笔记,上传判断其格式
    吃一垫长一智
    离散事件模拟
    二叉树查找树
    冷暖自知
    基督徒的人生箴言
    迷宫寻路
  • 原文地址:https://www.cnblogs.com/bee0060/p/2502677.html
Copyright © 2011-2022 走看看