JS keydown 不响应中文输入

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JS keydown 不响应中文输入相关的知识,希望对你有一定的参考价值。

就写了个简单的JS,在输入框中输入中文时,不能引发keydown事件,可能中文输入是要借助输入法程序间接输入的原因。那么像百度首页在输入框打字,引发事件使下边出现提示是怎么做成的,用哪个事件?
不是呢, onchange只对下拉有效,但是我的是type="text"输入框,把onchange用在输入框中就和blur事件一样了。没有达到keydown那样的效果,但keydown对中文输入又没效。

参考技术A keydown 不是回车事件吗 不响应中文输入是啥意思? 参考技术B 都不明白LZ 什么意思。
如果你想 搜索做成百度那样 ,建议你使用webservice .
调用你的数据库。用out 返回。
参考技术C 好啦,下面的回答求采纳:1.猛砸一下键盘,若是没有用,你可以再砸一下或者看第2条。。2.检查电脑的文字输入系统有没有设置错误。3.如果都没有用,你可以去看设置中的文字栏,若发现设置错误问题,立刻修改即可。 参考技术D 将下拉框改为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);
第5个回答  2015-11-07 将下拉框改为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(数据窗口控件)映射到该用户事件上即可。

Vba窗体的keydown怎么不起作用

参考技术A 设置的方式不对。
KeyDown事件不响应的原因大体分为两种:
一、窗体的KeyPreview=true未设置,导致事件未注册。
二、方向键等部分按键由于系统本身有处理,不会响应keydown事件,这时候可以使用重写ProcessCmdKey来进行处理。不过记得多做测试,避免影响控件原有事件。

以上是关于JS keydown 不响应中文输入的主要内容,如果未能解决你的问题,请参考以下文章

在 JS/jQuery 中触发 keypress/keydown/keyup 事件?

EASYUI 1.4版 combobox firefox 下不支持中文检索的问题

VB.NET如何使控件不能响应KeyDown事件

如何检测 angular.js 中的 keydown 或 keypress 事件?

js键盘相关知识总结

在 keydown 上禁用 WKWebView “funk”声音,但允许输入输入字段