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