• 记录一些笔记~


     

    autofocus 在移动版 Safari 上不工作

    onmousemove和onmouseover的区别

    onmousemove 是鼠标在元素上移动时触发,鼠标在元素上每移动一下就会触发一次。
    onmouseover 是鼠标移入元素时触发一次,鼠标在元素上移动时不会触发,但是由于事件冒泡的关系,当鼠标移入元素内的子元素时也会触发

    HTML <option> 标签的 value 属性

    value 属性规定在表单被提交时被发送到服务器的值。

    <option> 与 <option/> 之间的值是浏览器显示在下拉列表中的内容,而 value 属性中的值是表单被提交时被发送到服务器的值。

    注释:如果没有指定 value 属性,选项的值将设置为 <option> 标签中的内容。

    1 <select>
    2   <option value="volvo">Volvo XC90</option>
    3   <option value="saab">Saab 95</option>
    4   <option value="mercedes">Mercedes SLK</option>
    5   <option value="audi">Audi TT</option>
    6 </select>

    注意点:以字符串传输,所以去比较或者判断的时候,记得为其value加上“”双引号,特别是CASE “1”:

    因为case是以全等符号去比较的,所以数据类型要一致。如果是case 1:就会出错;如果是等号(==)那么不会出问题,但最好不要这样做,避免混淆

     1 function getData() {
     2             var index = region.selectedIndex;
     3             var index2 = product.selectedIndex;
     4             var regionSelect = region.options[index].value;
     5             var productSelect = product.options[index2].value;
     6             var res = new Array();
     7             if (regionSelect === "1") {
     8                 for (i = 0; i < sourceData.length; i++) {
     9                     if (sourceData[i].region == "华北") {
    10                         switch (productSelect) {
    11                             case "1":
    12                                 if (sourceData[i].product == "智能音箱") {
    13                                     res[i] = sourceData[i];
    14                                 }
    15                                 break;
    16                             case "2":
    17                                 if (sourceData[i].product == "笔记本") {
    18                                     res[i] = sourceData[i];
    19                                 }
    20                                 break;
    21                             case "3":
    22                                 if (sourceData[i].product == "手机") {
    23                                     res[i] = sourceData[i];
    24                                 }
    25                                 break;
    26                             default:
    27                                 res[i] = sourceData[i];
    28                                 break;
    29                         }
    30                     }
    31                 }

    提交表单的时候,提交的是value的值。value="0"与value="一月"其实都是表示一月,但是value的值不影响界面如何显示,在设计程序的时候完全可以就把“0”当做“一月”。也就是说后台获取到0的时候,其实就是选择的“一月”这一项。如果你要写成value="一月"也是可以的,只是后台用来接收这个数据的时候要用字符串来接收,而不是整型,这样就增加了程序的空间复杂度

    setSelectionRange()用法

    HTMLInputElement.setSelectionRange()方法用来设置<input>元素当前选中的文本的开始和结束位置。

    其接口定义如下:

    inputElement.setSelectionRange(
    selectionStart
    ,selectionEnd
    ,[optional] selectionDirection
    );
    

    其中:

    • selectionStart:必选参数,选中的字符(串)在文本中的起始位置(包括该字符),number,大于等于0,小于等于selectionEnd
    • selectionEnd:必选参数,选中的字符(串)在文本中的结束位置(不包括该字符),number,大于等于selectionStart
    • selectionDirection:可选参数,标识是从前向后还是从后向前选中的,string,取值backwardforwardnone。(较新的浏览器支持,暂时没发现有什么用处)

    注意:

    • 要想看到选中效果,必须要使<input>获得焦点。
    • 如果selectionStart等于selectionEnd,则不出现字符(串)选中效果,但可使光标定位到selectionStart之前。


    自带的focus用法

    document.getElementById('inputid').focus();

    autofocus 定义和用法

    autofocus 属性规定当页面加载时 input 元素应该自动获得焦点。

    如果使用该属性,则 input 元素会获得焦点。

    1 <form action="demo_form.asp">
    2   First name:<input type="text" name="fname" autofocus="autofocus" /><br />
    3   Last name: <input type="text" name="lname" /><br />
    4   <input type="submit" />
    5 </form>

    函数内return 之后的代码将不执行。

    != 在表达式两边的数据类型不一致时,会隐式转换为相同数据类型,然后对值进行比较.
    !== 不会进行类型转换,在比较时除了对值进行比较以外,还比较两边的数据类型, 它是恒等运算符===的非形式.

    js中的null代表不存在,在某些情况下和undefined定义一样,比如null==undefined返回的是true;而undefined这表示未定义;undefined是个类型,null是个object;然而''则表示具体的类型的值了;如果一个变量申明了未赋值,则类型未定义,这里判断变量==null会返回true;
    根本区别在于变量是否已经赋值,即是否已经初始化
    这里要清楚:null是个object类型,且值只有null
    undefined是个undefined类型,值只有undefined
    ''是个String类型的值
    那么这里null==undefined返回true
    null===undefined返回false
    null==''返回false
    undefined==''返回false

    var 声明的变量,作用域是当前 function

    没有声明的变量,直接赋值的话, 会自动创建变量
    但作用域是全局的.

    //-----------------
    function doSth() {
    a = "AAA";
    }
    doSth(); // 执行一次 doSth
    alert(a); // 可以看到 "AAA"
    //-----------------

    如果用了 var
    //-----------------
    function doSth() {
    var a = "AAA";
    }
    doSth(); // 执行一次 doSth
    alert(a); // 出错!!! 变量未定义, 因为 doSth 中声明的变量作用域只是 doSth 函数.
    //-----------------

    另外,如果 函数套函数,还会使情况变得更加复杂

    --------------------------------------------------------

    函数定义中,声明的函数参数作用域都是函数本身的

    如果,在参数声明中出现 var , 属于语法错误

    • IE11没有attachEvent这个属性,那么我们可以添加一个meta标签来设置浏览器的默认兼容模式

      通过在html的head标签中加入

      <meta http-equiv="X-UA-Compatible" content="IE=10" />

      这个meta标签来设置浏览器的默认兼容模式为ie10。

      这样就可以通过使用

      if(document.attachEvent){

      alert("IE");

      }else{

      alert("其他");

      }

      这个语句来判断浏览器是不是IE浏览器

      通过判断浏览器的类型可以写出兼容性的代码,避免写完页面之后兼容性差的问题。

  • 相关阅读:
    Java字符串操作
    easyui Combotree根据用户输入显示对应的tree值
    maven
    引用 js表单验证大全 以后方便查看用
    对象内存模型
    高级性能服务器编程模型【IOCP完成端口】开发实现【一】
    高级性能服务器编程模型【IOCP完成端口】开发实现【二】
    高级性能服务器编程模型【IOCP完成端口】开发实现【三】
    探讨【IGE】的源代码【六】,承接【五】,内存池管理。
    hive beeline详解
  • 原文地址:https://www.cnblogs.com/Joe-and-Joan/p/10083592.html
Copyright © 2020-2023  润新知