关于输入汉字时keypress事件无法触发

wszl 2007-03-29 09:17:43
我的目的是在input的输入框里面,每输入一个字符(包括汉字等unicode字符),自动计算输入值的长度,一个unicode字符算2个字符长,ascii的算一个,不能使输入的总长度大于input的maxlength属性。现在判断unicode和字符的长度我都解决了,但是就是触发keypress的时候出了问题,打开输入法输入汉字或其它unicode字符的时候,keypress不被触发,只有关闭输入法才能正常触发。似乎是输入法拦截了keypress事件,然后通过其它机制改变input的内容,这样就跳过了我的处理函数。用onchange可以解决,但是我想最好还是在keypress这类实时的事件来处理。
多谢了
...全文
1124 22 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
22 条回复
切换为时间正序
请发表友善的回复…
发表回复
chenyun22 2007-04-05
  • 打赏
  • 举报
回复
学习!
wszl 2007-04-05
  • 打赏
  • 举报
回复
ttyp(@http://www.cnblogs.com/ttyp/)
f解决了我的问题!呵呵,程序员有时候挺笨的,脑子都不会拐弯

ttyp 2007-04-04
  • 打赏
  • 举报
回复
目前只有用propertychange来代替了

<input type=text onpropertychange="change(this)">
<SCRIPT LANGUAGE="JavaScript">
<!--
var f = true;
function change(o){
if(event.propertyName == "value"&&f){
f = false;
o.value = "s";
alert(o.value);
f = true;
}
}
爱着有你 2007-04-04
  • 打赏
  • 举报
回复
支持一下
proglovercn 2007-04-03
  • 打赏
  • 举报
回复
学习……
wszl 2007-04-03
  • 打赏
  • 举报
回复
高手们献身啊
wszl 2007-04-02
  • 打赏
  • 举报
回复
楼上的回帖不看帖。我不是说了吗,用keyup事件在输入的时候截取,但是在某些中文输入法打开的时候,keyup事件无法触发,被输入法截取了。
wszl 2007-04-02
  • 打赏
  • 举报
回复
再没办法了吗?
viaivi 2007-04-01
  • 打赏
  • 举报
回复
搞这么麻烦,接收数据的时候直接截取
wszl 2007-04-01
  • 打赏
  • 举报
回复
顶起来
wszl 2007-03-31
  • 打赏
  • 举报
回复
用propertychange似乎陷入死循环,因为在onpropertychange事件里需要更改控件的value,这样就反复不停的执行了。
没用过propertychange,是不是我用的方式不对?有什么要注意的?
jiaxueq 2007-03-31
  • 打赏
  • 举报
回复
用propertychange判断吧。
wszl 2007-03-31
  • 打赏
  • 举报
回复
问题比较复杂了。发现用不同的输入法,竟然出现不同的结果,我在单位用微软拼音2003,紫光拼音,keyup事件似乎被输入法给屏蔽了,用智能ABC就可以。但是在家里用紫光,就可以正常触发keyup事件,都是中文XP系统,真是怪异啊。有没有高人来解释一下?
wszl 2007-03-30
  • 打赏
  • 举报
回复
一楼二楼说的不错,我刚开始没搞对。keyup的确起作用。
4楼说的禁用输入法是不可取的,如果客户就是要输入中文,那就不行了。但是用鼠标右键粘贴的确是个问题,需要同时处理onpaste事件了
lizhongbin 2007-03-30
  • 打赏
  • 举报
回复
mark。。。
adverse 2007-03-30
  • 打赏
  • 举报
回复
但是如果只用keyup,当用户粘贴、拖拽的时候可能就会出现问题,所以,觉得最好keyup,onchange,一起用。
he_8134 2007-03-30
  • 打赏
  • 举报
回复
=.=没看清楚楼主的要求,以为是要禁用中文呢~~`
he_8134 2007-03-29
  • 打赏
  • 举报
回复
不如禁用输入法~~~<input type="text" style="ime-mode:disabled" />

=.=不过如果用户 鼠标右键->粘贴 呢~~~
wszl 2007-03-29
  • 打赏
  • 举报
回复
没用,我试了。
hbjmdx008 2007-03-29
  • 打赏
  • 举报
回复
同意楼上.
加载更多回复(1)

87,997

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧