javascript - 为什么虚拟键盘不触发 AutocompleteList?

标签 javascript jquery asp.net-ajax

我必须在具有 AjaxControlToolkit 的 asp:textbox 上使用虚拟(屏幕上)键盘 automcomplete 附加到它,我使用的虚拟键盘是 jQuery 键盘插件:http://keith-wood.name/keypadRef.html ,但我在结合这两者时遇到了一些问题:

  1. 在虚拟键盘上打字不会 触发自动完成列表。
  2. 当文本框有 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/

相关文章:

javascript - 如何在动态删除和添加 div 时触发事件?

javascript - 如何获取在 javascript 中发起请求的 ID 更新面板

asp.net-mvc-3 - Ajax.BeginForm 检查请求是否被重定向

javascript - Express + node.js 中的服务器端数据验证

javascript - 防止Rails/html5游戏App作弊(Rails 3.2/html5/javascript)

javascript - 使用 .trigger ('resize' 时将参数传递给 $(window).on ('resize' )

javascript - 如何使用 cookie 添加 jquery 颜色选择器的多个实例

asp.net - 使用 Asp.net 的亚马逊图书搜索 API

javascript - 防止双击选择文本

javascript - 在单元测试用例中模拟 Angular $window