• 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

  • 相关阅读:
    linux命令3
    sersync和rsync数据实时同步配置
    java web框架
    处理 json数据,base64合成图片
    day032进程池(重点)进程池的同步、异步方法,回调函数;管道、数据共享
    day031同步锁、信号量、事件、队列、生成者消费者模型、Jionablequeue
    day030进程的两种创建方法,验证进程的空间隔离,join等待子进程
    day029socketserver模块实现并发,线程、 ftp上传或下载,打印进度条
    day028两种粘包现象,两种解决粘包的方法,subprocess, struck模块
    day027OSI七层协议;tcp三次握手,四次挥手;tcp与udp的区别及两者的撰写方式
  • 原文地址:https://www.cnblogs.com/mingmingruyuedlut/p/2315820.html
Copyright © 2020-2023  润新知