所以我有一个下拉列表,当用户从列表中选择某些内容并按下回车而不是单击时,它应该使用所选数据刷新页面。
它在 IE 和 Firefox 中运行完美,但 Safari 和 Chrome 似乎完全忽略了它。
这是我将属性添加到下拉列表的地方:
cboContext.Attributes.Add("OnKeyDown", "if (typeAhead(event,'" + cboContext.ClientID + "') == 1) contextPostback();");
Chrome 和 Safari 好像忽略了 OnKeyDown 属性
编辑:
根据 Sime 和 Nil 的工作和评论,我发现 Chrome 无法识别 keyCode,它显示为未定义。
我已将我的 typeAhead() 代码放在 jsFiddle 上
这里是我为 keyCode 声明变量的地方:
var charCode = evt.keyCode || evt.which;
有谁知道为什么它会保持未定义状态?
最佳答案
您可以使用“onchange”属性(补充或替代“onkeydown”属性)。
在 Chrome 中,当 SELECT 元素打开并按下 ENTER 时,将执行“onchange”代码。
关于c# - Chrome 显示 keyCode 未定义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11351507/