当前位置: 爱符号 - 所有分类 - Web开发 - js - 解决js中文输入法无法触发onkeyup事件问题
解决js中文输入法无法触发onkeyup事件问题  JieJuejsZhongWenShuRuFaWuFaChuFaonkeyupShiJianWenTi
符号空间 发表于:2013-12-26 12:03:01 阅读(2197)
关键词:js js 输入法 输入法 keyup keyup
摘要:解决js中文输入法无法触发onkeyu


当监听一个input的keyup的事件的时候,英文输入法的情况下可以实时的通过keyup事件检测到文本框value的变化,但是当输入法变成中文后,input的keyup事件就不会被正常触发。

oninput是firefox下面可用,而onpropertychange则是ie下可用。两个方法有着一些区别。

oninput只能检测到value这个属性的变化,而onpropertychange则可以检测到包含value的所有属性的变化。于是开始改成这个样子。

使用oninput以及onpropertychange


<html>
<head>
     <script type="text/javascript" src="http://res.open.gouring.com/script/jQuery-1.7.2.min.js"></script>
</head>
<body>
<p>
     使用oninput以及onpropertychange事件检测文本框内容:
</p>
<p>
<input type="text" name="textBox1" id="textBox1" autocomplete="off"/>
<span id="inputorp_s"></span>
<script type="text/javascript">
var eventName= "input";
if($.browser.msie){//万恶的IE,这个不一样,总是不一样,而且总是垃圾??
    eventName="propertychange";
}
$("#textBox1").bind(eventName,function(e){
    //这个时候就是你要的 change 或者说是keyup
    $("#inputorp_s").text($(this).val());
});
</script>
</p>
</body>
</html>





声明:以上内容仅代表作者观点,不代表爱符号赞成此内容或立场