zoukankan      html  css  js  c++  java
  • js下的table.insertRow ie and firefox的区别

    table.insertRow()在IE下没问题 但在firefox下就得改为table.insertRow(-1)
    同样其相应的insertCell()也要改为insertCell(-1)

    var newTh = table.insertRow(-1);
                    
                    newTh.style.backgroundColor="#C8ECEC";
                    newTh.align="center";
                    
                    //表头TD

                    var newTh1 = newTh.insertCell(-1);
                    var newTh2 = newTh.insertCell(-1);
                    var newTh3 = newTh.insertCell(-1);
                    var newTh4 = newTh.insertCell(-1);
    在firefox下必须要为insertrow 和insertcell加上参数,-1的意思是插到表格最后一行。

    判断是ie还是其他浏览器的函数

    if(navigator.appName == "Microsoft Internet Explorer"){

    //ie browser

    }else{

    //anthor browser

    }

    firefox 下没有keyup ,只有keydown和keypress动作,这个地方要注意。

    我的firefox是3.6.3能实现keyup动作。但是ff和ie还是有些不同的地方。

    获得一个id的值的方法有几种:1。document.getElementById("table").value;2.$("table").value

    3.$("table").getAttribute("value");这三种,当你要获得字符串长度时,第三种 $("table").getAttribute("value").length在ff中不能正常执行。而第二种 $("table").value.toString().length能正常执行。

    还有那个keypress动作和keyup的区别。

    有这样一个例子,我要控制文本框输入长度到5个字符时就自动取出文本框的值并把文本框点亮。一开始我以为keyup在ff不能用,于是就用keypress代替。区别出来了。我在keyup里判断当$("add_input").value.toString().length==5时字段保存。但是在keypress里,当你输入第6个字符时才保存,虽然保存的也是前5个字符。但是你只有输入第6个字符才能触发keypress里的函数。如果是扫描机时,输入商品id,不会出现第6个字符,就麻烦了。

    、、、、、、、、、、、、、、、、、、、、、、、

    下面是转载的一段话:

    最近在做一个程序,需要实现窗口下的F5 刷新功能。 

    研究了一下KeyDown,KeyPress 和KeyUp ,发现之间还是有点学问的。 

    让我们带着如下问题来说明,如果你看到这些问题你都知道,那么这篇文章你就当复习吧:) 

    1.这三个事件的顺序是怎么样的? 

    2.KeyDown 触发后,KeyUp是不是一定触发? 

    3.三个事件的定义 

    4.KeyDown、KeyUp 和KeyPress 之间的区别 

    5.如何区分是否按的是小键盘? 

    6.PrScrn按键三个事件能够捕获吗? 

    7.{菜单键}和{开始键}KeyPress能够捕获吗? 

    8.如何捕获系统的组合键? 

    9.通过什么方式捕获PrScrn按键事件? 

    (一)键事件按下列顺序发生: 

    KeyDown 

    KeyPress 

    KeyUp 

    (二)KeyDown触发后,不一定触发KeyUp,当KeyDown 按下后,拖动鼠标,那么将不会触发KeyUp事件。 

    (三)定义 

    KeyDown:在控件有焦点的情况下按下键时发生。 

    KeyPress:在控件有焦点的情况下按下键时发生。(下面会说和KeyDown 的区别) 

    KeyUp:在控件有焦点的情况下释放键时发生。 

    (四)KeyPress 和KeyDown 、KeyPress之间的区别 

               1.KeyPress主要用来捕获数字(注意:包括Shift+数字的符号)、字母(注意:包括大小写)、小键盘等除了F1-12、SHIFT、Alt、 Ctrl、Insert、Home、PgUp、Delete、End、PgDn、ScrollLock、Pause、NumLock、{菜单键}、{开始键}和方向键外的ANSI字符 
                 KeyDown 和KeyUp 通常可以捕获键盘除了PrScrn所有按键(这里不讨论特殊键盘的特殊键) 

                2.KeyPress 只能捕获单个字符 

                    KeyDown 和KeyUp 可以捕获组合键。 

               3.KeyPress 可以捕获单个字符的大小写 

               4.KeyDown和KeyUp 对于单个字符捕获的KeyValue 都是一个值,也就是不能判断单个字符的大小写。 

               5.KeyPress 不区分小键盘和主键盘的数字字符。 

                    KeyDown 和KeyUp 区分小键盘和主键盘的数字字符。 

               6.其中PrScrn 按键KeyPress、KeyDown和KeyUp 都不能捕获。 

    (五)系统组合键的判定 

    在使用键盘的时候,通常会使用到CTRL+SHIFT+ALT 类似的组合键功能。对于此,我们如何来判定? 

         通过KeyUp 事件能够来处理(这里说明一下为什么不用KeyDown,因为在判定KeyDown的时候,CTRL、SHIFT和ALT 属于一直按下状态,然后再加另外一个键是不能准确捕获组合键,所以使用KeyDown 是不能准确判断出的,要通过KeyUp 事件来判定 ) 

       (六)捕获PrScrn按键事件 

    通过一种钩子的方式可以判定PrScrn 按键事件,钩子可以获取任何键盘事件。

    原文地址:http://hi.baidu.com/r61ethinkpad/blog/item/a377f9acbd2b12c07dd92a2c.html

  • 相关阅读:
    面试题:最小的K个数
    面试题:反转链表
    面试题:二进制中1的个数
    数据结构之二叉树
    Serializable-源码分析
    归并、希尔、快速排序
    栈与队列
    简单排序(冒泡、选择、插入)
    Shiro 框架认证和授权
    mybatis select查询使用返回结果为resultMap
  • 原文地址:https://www.cnblogs.com/zhouxiuquan/p/2305169.html
Copyright © 2011-2022 走看看