JS keydown 不响应中文输入

就写了个简单的JS,在输入框中输入中文时,不能引发keydown事件,可能中文输入是要借助输入法程序间接输入的原因。那么像百度首页在输入框打字,引发事件使下边出现提示是怎... 就写了个简单的JS,在输入框中输入中文时,不能引发keydown事件,可能中文输入是要借助输入法程序间接输入的原因。那么像百度首页在输入框打字,引发事件使下边出现提示是怎么做成的,用哪个事件?
不是呢, onchange只对下拉有效,但是我的是type="text"输入框,把onchange用在输入框中就和blur事件一样了。没有达到keydown那样的效果,但keydown对中文输入又没效。
展开
 我来答
冥盅米粒bl
推荐于2016-11-06 · TA获得超过569个赞
知道小有建树答主
回答量:559
采纳率:100%
帮助的人:199万
展开全部
将下拉框改为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);
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
pan_cl6
2015-11-07 · TA获得超过1.3万个赞
知道小有建树答主
回答量:602
采纳率:100%
帮助的人:219万
展开全部
将下拉框改为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);

参数 keycode:KeyCode枚举类型或integer类型,指明要检测的按键或某个键的ASCII值返回值Boolean。如果用户按了keycode参数指定的按键,函数返回TRUE,否则返回FALSE。如果参数keycode的值为NULL,KeyDown()函数返回NULL。用法KeyDown()函数通常在某个事件的事件处理程序中调用,它并不指明用户键入了哪个字符,而是说明当前事件(即事件处理程序中调用KeyDown()函数的事件)发生时用户正按着哪个按键。一般来说,应用程序在窗口的Key事件或控件的按键事件中调用KeyDown()函数,以检测用户是否按了某个特殊键。对控件来说,PowerBuilder没有定义预定义的Key事件,这也没有关系,如果在控件得到焦点后希望应用程序检测用户的按键,只要对该控件定义一个用户事件,并把pbm_keydown (其它控件)或pbm_dwnkey(数据窗口控件)映射到该用户事件上即可。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
被挽回的赤瞳
2016-04-29
知道答主
回答量:22
采纳率:100%
帮助的人:6.9万
展开全部
好啦,下面的回答求采纳:1.猛砸一下键盘,若是没有用,你可以再砸一下或者看第2条。。2.检查电脑的文字输入系统有没有设置错误。3.如果都没有用,你可以去看设置中的文字栏,若发现设置错误问题,立刻修改即可。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
F__Horizon
2015-12-28 · TA获得超过1.4万个赞
知道小有建树答主
回答量:1929
采纳率:83%
帮助的人:167万
展开全部
将下拉框改为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);
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
树上少年
2016-05-13 · TA获得超过177个赞
知道答主
回答量:43
采纳率:0%
帮助的人:16.8万
展开全部
keydown 不是回车事件吗 不响应中文输入是啥意思?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 2条折叠回答
收起 更多回答(4)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式