使用js复合事件处理中文输入的问题

JavaScript047

使用js复合事件处理中文输入的问题,第1张

复合事件和文本事件在很对地方很相似。在触发复合事件时。目标是接收文本的输入字段。但是它比文本事件对象多一个属性 data ,复合事件有以下三种:

复合事件主要的用处在于使用输入法编辑器时,往往需要使用多个键,但是最终只输入一个字符。复合事件就是为了检测和输入这种输入而设计的。例如:当我们需要在输入框中输入中文“张”的时候,需要输入 zhang 最后按回车键输入到输入框中。

当我们使用input事件时,输入中文拼音的过程中此时,此时中文并未显示在输入框中,但是依然会触发input事件

改为compositionend事件后

将下拉框改为input type="text"

下拉内容一个隐藏用div,当input有内容时显示div

---------------------------------------------------------

下面是个简单例子,关键是自己定义了一个定时器,监视input的长度有没有发生变化

function cTxt(l){

if(l){

document.getElementById('hidiv').style.display = "block"

}else{

document.getElementById('hidiv').style.display = "none"

}

}

var tmplen = 0

function my_onchange(){

var currentlen = document.getElementById('txtIn').value.length

if( currentlen != tmplen){

tmplen = currentlen

cTxt(tmplen)

}

}

setInterval("my_onchange()",200)

首先先确认你的是不是你输入法的问题,改成:javascript:document.body.contentEditable='true'document.designMode='on'你上面javascript:是中文输入法的写法。改成比如:<a onclick="javascript:document.body.contentEditable='true'document.designMode='on'">test</a>