2010-04-25 60 views
2

我必须在asp:textbox上使用一个虚拟(屏幕上)键盘,它有一个AjaxControlToolkit的自动完成附加到它,我使用的虚拟键盘是jQuery键盘插件:http://keith-wood.name/keypadRef.html,但我有一些合并这些问题两个:为什么虚拟键盘不会触发AutocompleteList?

  1. 在虚拟键盘上输入并不是 会触发自动完成列表。
  2. 当文本框具有 自动回= true,如果你点击虚拟键盘上 任何东西 文本框失去其重点和岗位 形式。

有谁知道在响应自动完成列表激活什么事件? 并且我还需要知道如何在按下虚拟键盘上的按钮时防止文本框失去焦点?

回答

1

1)JavaScript设置值并且JavaScript不会触发自动完成列表弹出。 [我怀疑是否有用JavaScript触发它]

2)点击“键盘”从文本框中删除焦点,然后模糊事件触发并提交表单。 [你将不得不编写自己的AutoPostBack =真] 基本思路是添加调用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); };