c# - Chrome 显示 keyCode 未定义

标签 c# javascript asp.net

所以我有一个下拉列表,当用户从列表中选择某些内容并按下回车而不是单击时,它应该使用所选数据刷新页面。

它在 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”代码。

现场演示: http://jsfiddle.net/nQhUT/3/

关于c# - Chrome 显示 keyCode 未定义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11351507/

相关文章:

c# - C# 中 VBA 的类型语句相当于什么?

c# - 当用户单击控制台窗口时,代码停止执行

c# - Entity Framework : Can DB Contexts Have Foreign Keys Across Different Schemas?

c# - 加载没有母版页的内容页

asp.net - 检查 CheckBoxList 是否有任何选定的值

c# - 托管 php 和 asp.net Web api 的成本

asp.net - 间歇性 "Failed to load viewstate"错误

javascript - 将多个参数传递给 addCallBackElement Google 脚本

Javascript 排序获取的数据

javascript - XMLParser 给出错误 '' 无法设置未定义的属性值''