今天在写一个JS输入文本过滤的程序,本来我的设想是在keypress事件中获取按下的键,然后再进行判断,这样的话总是出错,最后终于明白自己把事件的发生顺序搞错了,应该是先keydown,然后是keypress,最后才是keyup,
如果用户按一次字符按键,会按以下顺序发生
keydown
keypress
keyup
如果用户按一次非字符键比如shift 则会发生以下顺序事件
keydown
keyup
如果用户按住一个字符键不放 keydown和keypress持续触发,直到松开按键,如果用户按住非字符键并
且不放,将只有keydown触发.
我类个区。。。
此外还要在控件的onafterpaste事件中进行处理,代码很简单
this.value=this.value.replace(/\D/g,'')