function switchIME(enable){ var root = document.getElementById("mead"); var show = document.getElementById("show"); if(enable){ show.innerHTML = "IME has opened."; root.style.cssText = "ime-mode:auto;width:300px;height:400px;"; }else{ show.innerHTML = "IME has closed."; root.style.cssText = "ime-mode:disabled;width:300px;height:400px;"; }
http://topic.csdn.net/u/20110711/08/7b975c00-a370-497c-b6bc-02660a73adb0.html?seed=1368443032&r=74326357#r_74326357暂时想不出什么点子啊.....
如何页面一启动,就开始调试呢?
见鬼的是:这个bug不是每次都出现,要看人品才会出来....
style=" ime-mode:disabled;"
可以改成onkeyup或者onkeypress。
系统已经开发好几年了,有很多框架和代码,捕捉键盘事件是为了屏蔽一些热键(如F11全屏等),
中英文切换,也有问题,google输入法,没有一点反应,键盘输入,全是英文.
shift+ctrl没有一点反应
-----------------------------------------
给document.onkeydown 增加事件的两种方式,
一是<script language="JScript" for="document" event="onkeydown"> ... </script>
二是document.onkeydown = xx; // xx是一个事件函数通过方式二定义的事件是最先有效的,这一点可以在页面最后增加以下代码行验证
<script language="JScript">
alert( document.onkeydown);
</script>但是,通过方式一定义的事件是最终有效的,这一点可以通过在页面增加以下代码验证。同时这种方法可以看到document.onkeydown 的函数到底是什么(通过alert( document.onkeydown )显示的是函数源码)。
<input onclick="javascript:alert( document.onkeydown );" type="button" value="查看document.onkeydown "/>如果不方便修改HTML源码,在IE中,上面一句可以改为在地址栏执行,javascript:alert( document.onkeydown );"所以,楼主可以通过以上两种查看方式查看document到底想增加哪些onkeydown 事件,以及最终的事件是什么。另外楼主可以在页面的最后面增加以下代码
<script language="JScript" for="document" event="onkeydown">
</script>
就是一个空的事件实体,用以屏蔽document.onkeydown的事件,查看是不是因为定义了document.onkeydown事件而影响了输入法切换。--------------------------------------------
以上实验在IE7下面。
用于ie下调试js
安装这个来调试下吧,和firebug的功能差不多。使用方法网上有。
我发现,按shift+ctrl,输入法的图标是会改变的.
就是说,可以切换输入法....但是Google输入法的中文,中文提示列表却没有出现(输入拼音,会有一行列表,提供选择的.)
输入文本框的,统统是字母...头痛了
<script language="javascript">
function switchIME(enable){
var root = document.getElementById("mead");
var show = document.getElementById("show");
if(enable){
show.innerHTML = "IME has opened.";
root.style.cssText = "ime-mode:auto;width:300px;height:400px;";
}else{
show.innerHTML = "IME has closed.";
root.style.cssText = "ime-mode:disabled;width:300px;height:400px;";
}
}
</script><textarea id="mead" style="ime-mode:disabled;width:300px;height:400px;" >
</textarea>
<br/>
<br/>
<div id="show">hello you.</div>
<br/>
<input type="button" onclick= "switchIME(true);" value="开启中文输入" />
<input type="button" onclick= "switchIME(false);" value="关闭中文输入" />
我使用上面代码重演了这个bug.
确定我们系统的输入法问题是和css这个样式
ime-mode:disabled
出现的情况一模一样.可以切换输入法,但是无法输入中文.
======
于是我用Eclipse全文搜索,ime-mode,
发现没有这个字符串.
这个bug是偶尔出现的.
jquery和jquery easy UI中...