以下写得很零碎,纯粹是备忘
1,
(1)如果用keydown,用中文输入法时在输入框里输汉语拼音的字母就会有感知,故只能用keyup
(2)后退问题.
如何区分是在中文输入法的输入框里的后退,还是自动完成录入框里的后退,二者的处理是不一样的。
(3)确认键
光标在form里时,按确认键浏览器会自动提交。而我想要的是一按确认键,自动录入选中的那一项。
如何在按确认键时不让form截获这个事件。要做成通用的,而不是在每一个form里写死。
(4)调试时慎用alert
alert然后确定时会自动执行blur,会影响的原来程序的执行次序
2,插件
(1)
http://code.google.com/p/jqac/ 不错
(2)http://bassistance.de/jquery-plugins/jquery-plugin-autocomplete 很好很强大
(3)
http://www.dyve.net/jquery/?autocomplete 有遮盖select box功能
(4)http://docs.jquery.com/Plugins/AutoComplete
(5)http://mabp.kiev.ua/content/2008/04/08/autocomplete_by_your_own_hands
(6)
http://www.pengoworks.com/workshop/jquery/autocomplete.htm (7)http://huacn.blogbus.com/logs/19643985.html
测试鼠标事件和键盘事件在IE和FF下的执行次序,同时测试在中文输入法下的执行次序
<!----><script>
function $(id){return document.getElementById(id);}
</script>
<input onmousedown="$('d').value=$('d').value+'down'" onmouseup="$('d').value=$('d').value+'up'"
onclick="$('d').value=$('d').value+'click'" ><br>
<input onkeydown="$('d').value=$('d').value+'down';" onkeyup="$('d').value=$('d').value+'up-'"
onkeypress="$('d').value=$('d').value+'press';"><br><br><br><br>
<input id='d' size=100>
你会发现,在非中文输入法模式下,IE和FF大体上按下面的顺序
(1)对key 来说 :keydown-->keypress-->keyup
如果持续按住键位,keydown会持续执行;
如果要阻止按键的默认行为,必须使用keypress(用return false),但按backspace时不行,因为backspace时只执行keydown和keyup,keyup之前回退的效果已经生效了。
(2)对mouse来说 :mousedown-->mouseup-->click ,在IE下如果在与按下鼠标的相同元素上松开则产生click事件,如果松开时已经离开最初按下时的元素了,则不会产生click事件;但据我观察FF下不是这样,FF下无论鼠标是否在最初的元素上松开,都会产生click事件。
在中文输入法模式下:
(1)FF
其中downup-up-是输入法切换时的键盘事件
输入第一个字母时产生down-press事件,然后输入任何字母都不会产生键盘事件, 只有按确认输入的键了,例如按space或是1,才会执行up事件,见右图。
也就是说录入一次中文时,不管中间过程怎么样,整个的键盘事件只有3个:down-press-up
(注:以上说的键盘事件都是指发生在input上的)
2,IE
其中downup-up-也是输入法切换时的键盘事件
然后在输入法框里的所有按键都产生一对downup事件,包括回退和确认都是。
无论光标在input还是在输入法框按回退,都是down-up
用style.imeMode好像无法得到当前text的输入法模式
(http://topic.csdn.net/t/20040908/13/3351801.html)
http://www.hihiyou.com/?p=5
http://realazy.org/blog/2007/10/31/solution-of-keyup-failing-when-ime-is-on/
http://topic.csdn.net/t/20040714/21/3175529.html
http://www.iteye.com/topic/191555
onpropertychange时用event.propertyName == "value"
分享到:
相关推荐
jQuery自动完成插件autocomplete.zip
jQuery completer 是 jQuery 自动完成插件。在线演示 标签:jQuery
这是一款轻量级的jquery自动完成插件。该jquery自动完成插件支持ajax。用户在输入框中输入内容时,插件会自动搜索指定的数组对象,或json对象,完成自动补全。
autocomplete 输入框自动完成 自动下拉查询,网络下载的,csdn有个要5分的在谷歌浏览器,输入中文会有问题,本人这个测试完全正常,可以使用!
jQuery plugin for autocomplete - jQuery自动完成插件
JQUERY 自动完成autocomplete。 支持jquery1.3
jquery自动完成插件
jquery自动完成简介,自动填充利用搜索和过滤,让用户快速找到并选择所需要的值。
完美版jquery 自动完成输入插件 jquery suggest
autocomplete, jQuery自动完成插件,如Google自动完成 电子邮件自动完成文档&演示插件jQuery自动完成插件如谷歌搜索 npm install jquery-autocomplete
jquery 自动完成插件收集集合 收集了常用的自动完成插件 包含相关demo
jquery自动完成下拉框源码示例
EasyAutocomplete 是一个 jQuery 自动完成插件。它对 javascript 开发者来说是一个非常友好的工具。 分享 window._bd_share_config = { ...
jquery 下拉选择 自动提示 自动完成
这是一款轻量级的jquery自动完成插件。该jquery自动完成插件支持ajax。用户在输入框中输入内容时,插件会自动搜索指定的数组对象,或json对象,完成自动补全。
jquery 自动完成 --------------------------- ---------------------------
Jquery自动完成功能,能够绑定datalist实现自动完成内容。
利用ajax传值功能实现jquery自动完成.autocomplete 里面有代码详细解释说明,一看就懂。包括所有引入到的 7个js 全部都有
sublime text2 jQuery插件 自动完成 代码提示,安装方法搜索关键字istyles cat sublime text2 jQuery
jquery 仿搜索自动完成功能