日期:2014-05-16  浏览次数:20361 次

js在ie、火狐等浏览器的兼容
这段时间一直在开发公司的在线支付系统,最大的难点就是js在各个浏览器的兼容问题了。开发接近尾声,这里把其中的心得记录一下,以便以后使用,也方便同行能有所参考。
文本框,在编辑内容,发生改变时,一般采用  onchange来触发事件,火狐里是 oninput,另外还要加上onpropertychange。
多选框,checkbox,在选择的时候,触发事件一般用onchange,另外,加上onclick="this.blur()",使其失去焦点,有的浏览器需要这样操作一下。
在获取单元格里的值的时候,能用innerHTML就尽量用这个,innerText在火狐里似乎不管用。
键盘事件, 如 onkeydown中禁用回车,要先判断是ie还是火狐:
document.onkeydown=function(e){
            if (window.event) {
                if (e.keyCode == 13) {
                    event.keyCode = 0;
                    event.returnValue = false;
                    return false;
                }
                return true;
            }
            else {
                if (e.which == 13) {
                    e.preventDefault();
                    return false;
                }
                return true;
            }
}
c#后台获取前台控件值的时候,能用FindControl("控件ID")就尽量用,Controls(序号)这种方式不一定能准确找到你要的控件。