我必须在具有 AjaxControlToolkit 的 asp:textbox 上使用虚拟(屏幕上)键盘 automcomplete 附加到它,我使用的虚拟键盘是 jQuery 键盘插件:http://keith-wood.name/keypadRef.html ,但我在结合这两者时遇到了一些问题:
- 在虚拟键盘上打字不会 触发自动完成列表。
- 当文本框有 autopostback=true 如果你点击 虚拟键盘上的任何内容 文本框失去焦点并发布 表格。
有谁知道在响应自动完成列表激活的事件时? 而且我还需要知道如何防止文本框在按下虚拟键盘上的按钮时失去焦点?
最佳答案
1) JavaScript 正在设置值并且 JavaScript 不会触发弹出的自动完成列表。 [而且我怀疑无论如何都可以用 JavaScript 触发它]
2) 单击“键盘”会从文本框移除焦点,然后,blur 事件将触发并提交表单。 [你必须编写你自己的 autopostback=true]
基本思想是添加一个调用 document.forms[0].submit()
的超时,如果在超时触发 clearTimeout()
之前将焦点添加回文本框
var textbox = document.getElementById("yourElementId");
textbox.blur = function(){ this.timer = window.setTimeout( function(){ document.forms[0].submit(); }, 100 ) };
textbox.focus = function(){ if(this.timer) window.clearTimeout( this.timer ); };
关于javascript - 为什么虚拟键盘不触发 AutocompleteList?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2707695/