获取正在录入的是中文输入法下的》(书名号) 例如:我需要屏蔽用户在中文输入法下向一个文本框输入“》”(即中文输入法下的书名号)也就是屏蔽中文输入法下 shift组合>event.keyCode只能获取英文字符的>键为62也就是如何获取当前输入的是》,而不是>呢? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 那你就这样,如果碰到evt.keycode == 62的直接if(evt.keyCode == 62){ evt.keycode = 0; evt.stop(evt); str+= "<"; //然后自己做字符串处理 } keypress的时候,应该不行吧keyup的时候,input的value就能获取录入的值例如》这个中文的书名号,此时可以和你要屏蔽的字符进行比较了。 不用这么麻烦吧,屏蔽一个字符而已,onkeyup的时候,replace一下就行了<input type="text" value="" onkeyup="this.value=this.value.replace(/》/g,'');"> keypress的时候有什么好办法吗?用keyup总有些不妥,因为实际上是输入了,只是后来又屏蔽了。最好的做法应该是在录入的时候即keypress的时候就屏蔽。 用onkeydown是做不到的,在该事件发生时,浏览器还没有获取输入的字符,只是捕获了按下的键而已用onkeyup的确不太好,如果按住不松,字符就永远去不掉想个折中的办法,利用onpropertychange事件,当值有所改变时,重新赋值,对于用户而言,是看不出来的<input type="text" value="" onpropertychange="if(this.value!=this.value.replace(/》/g,''))this.value=this.value.replace(/》/g,'');"> LS正解 不过onpropertychange只兼容于IE其他的浏览器要用oninput事件 表单验证问题 jquery 中的 scrollLeft() scrollTop()。 与其对应得DOM编程中的函数是什么?? 如何禁止表单里的自动提示? 加载图片的问题 js操作大量radiobotton时的效率问题 IE直接打开pdf文件 document.getElementsByTagName("*"); 可以运行,为什么会提示错误 怎么去掉客户端缓存 用javascript实现删除本地硬盘上的文件。 如何定时检查session,在过期前提醒用户,并使session重置? JS菜鸟求助 javascript实现点击按钮检索数据时鼠标变成等待状问题????
if(evt.keyCode == 62)
{
evt.keycode = 0;
evt.stop(evt);
str+= "<"; //然后自己做字符串处理 }
keyup的时候,input的value就能获取录入的值例如》这个中文的书名号,此时可以和你要屏蔽的字符进行比较了。
<input type="text" value="" onkeyup="this.value=this.value.replace(/》/g,'');">
用keyup总有些不妥,因为实际上是输入了,只是后来又屏蔽了。
最好的做法应该是在录入的时候即keypress的时候就屏蔽。
用onkeyup的确不太好,如果按住不松,字符就永远去不掉
想个折中的办法,利用onpropertychange事件,当值有所改变时,重新赋值,对于用户而言,是看不出来的
<input type="text" value="" onpropertychange="if(this.value!=this.value.replace(/》/g,''))this.value=this.value.replace(/》/g,'');">
其他的浏览器要用oninput事件