• JS零散知识记录


    1):display:none --> 隐藏相应对象(包括对象的物理空间) 相关知识 http://www.w3school.com.cn/htmldom/prop_style_display.asp 

      visibility:hidden --> 隐藏相应对象(但是保留对象的物理空间) 相关知识 http://www.w3school.com.cn/htmldom/prop_style_visibility.asp 

    2): substr(N, Count) --> 标示 从字符串的第N个位置开始截取 个数为 Count 的字符串 (遍历字符串中的字符就可以令 Count = 1 去挨个处理)

      substring(N1, N2) --> 标示 从字符串的第N1个位置开始截取到第N2个位置的字符串

    3): charCodeAt() --> 标示 将字符转化为ASCII码

      String.fromCharCode(ascii码) --> 标示 将ASCII码转化为字符   相关知识 http://www.cnblogs.com/xuebin/articles/1296837.html

     

    4): MVC3中前后台中文字符处理(如果用好Json进行传递数据的话,也可以避免额对多语言进行特殊的处理请看第9条):

        前台Ajax传递带有中文字符的变量: 将传递的变量进行encodeURI重新编码赋值,例如要传递value给后台,那么进行 value = encodeURI(value); 再将变量传给后台。

        后台C#代码进行解析: 接到value后,用Uri.UnescapeDataString(value); 方法,将编码后的value值重新转化为带有中文字符的变量。

     

    5):Json字符串与对象之间的转化:

        对象-->字符串:JSON.stringify(jsonobj)。本来是最简便的方法,可是存在浏览器兼容问题(仅适用于IE8+,Chrome 1+,FF 3+)。

        字符串-->对象:JSON.parse(str);

     

    6):onchange事件与onpropertychange事件的区别:
        onchange事件在内容改变(两次内容有可能还是相等的)且失去焦点时触发;

        onpropertychange事件却是实时触发,即每增加或删除一个字符就会触发,通过js改变也会触发该事件,但是该事件IE专有。

    7):oninput事件与onpropertychange事件的区别:
        oninput事件是IE之外的大多数浏览器支持的事件,在value改变时触发,实时的,即每增加或删除一个字符就会触发,然而通过js改变value时,却不会触发;

        onpropertychange事件是任何属性改变都会触发的,而oninput却只在value改变时触发,

        //oninput要通过addEventListener()来注册,onpropertychange注册方式跟一般事件一样。(此处都是指在js中动态绑定事件,以实现内容与行为分离)

        为了兼容不同浏览器的此操作,那么就把着两个事件都注册上即可(刚刚试过好使)

    8):oninput与onpropertychange失效的情况:
        oninput事件:a). 当脚本中改变value时,不会触发;b). 从浏览器的自动下拉提示中选取时,不会触发。

        onpropertychange事件:当input设置为disable=true后,onpropertychange不会触发。

     

    9):MVC3中ajax回调基本格式 :

    var operData = ...; //传递的参数(action中定义的)

    var type = ...;   //传递的参数(action中定义的)

    $.ajax({
    url: "/..../....",
    type: "POST",
    data: { operData: operData, type: type },
    dataType: "json",
    success: function (result) {
      ....
    },
    error: function () {

      ....
    }
    });

    这里我们把需要传递的参数以 data 列表的形式展现出来,而不是直接在url中显示的附加,如:url: "/..../....?operData=....&type=...",这样就能很好的避免多语言以及特殊字符的问题,不妨一试。

    9):JS中判断变量未定义: typeof(obj)=='undefined'

    10):js中的replace方法替换string中所有相同的字符:例如:将string中所有的单引号 ' 转义替换成为 \'    --->   str.replace(/\./g, "\\.")

    11):js中如果对一个DropDownList添加一个Option 并且其value值带有单引号,那我们可以用全局替换(替换成') 屏蔽单引号截断字符串的影响

         --->  $("<option value='" + optionValue.replace(/\'/g, "&#39;") + "'>" + optionTitle + "</option>").appendTo("#MyDropDownList");

        PS:更多对DropDownList的基本操作请看【http://blog.csdn.net/Feiin/article/details/3896937

  • 相关阅读:
    89组合margin、padding、float、clear问题
    absoulue与relative配合定位盒子居中问题
    11种常用css样式之表格和定位样式学习
    11种常用css样式之鼠标、列表和尺寸样式学习
    C++走向远洋——54(项目一2、分数类的重载、取倒数)
    C++走向远洋——53(项目一1、分数类的重载、加减乘除、比较)
    HTML标签学习总结(1)
    9——PHP循环结构foreach用法
    C++走向远洋——52(十三周阅读程序)
    我为什么要用CSDN博客?
  • 原文地址:https://www.cnblogs.com/mingmingruyuedlut/p/2315820.html
Copyright © 2020-2023  润新知