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