【问题标题】:enter key pressed call javascript function输入键按下调用javascript函数
【发布时间】:2013-03-15 10:20:56
【问题描述】:

我的页面上有一个 asp:TextBox,我想检测回车键来调用 javascript 函数。这就是我所拥有的:

代码隐藏

txtSearch.Attributes.Add("OnKeyPress", "ProcessKeyPressed()")

aspx 页面

 function ProcessKeyPressed() {
    if (event.keyCode == 13 || event.keyCode == 10 ) {
        Search();
    }
 }

这适用于 chrome 和 IE,但不适用于 Firefox……知道为什么会这样吗?

提前致谢,

【问题讨论】:

  • 不工作怎么办? ProcessKeyPressed 函数根本不会被调用吗?有什么错误吗?您是否使用过 Firefox JavaScript 控制台或 Firebug 来检查错误?
  • onKeyPress event not working in Firefox 的可能重复项(您应该检查第二个答案)
  • 是的,你是对的 tpeczek,我的问题是针对同一个问题。感谢您的帮助。

标签: javascript asp.net cross-browser keycode


【解决方案1】:

试试:

function ProcessKeyPressed(event) {
   if (event.keyCode == 13 || event.keyCode == 10 ) {
       Search();
   }
}

查看这里了解更多信息:window.event.keyCode how to do it on Firefox?

【讨论】:

  • 我尝试了同样的方法,但没有在自定义控件文本框上工作我的代码是----- 和 aspx 上的函数 ... function ProcessKeyPressed(event) { if (event.keyCode == 13 || event.keyCode == 10) { Search(); } }
【解决方案2】:

后面的代码:

txtSearch.Attributes.Add("OnKeyPress", "ProcessKeyPressed(event || window.event)")

还有 JS:

function ProcessKeyPressed(event) {
    if (event.keyCode == 13 || event.keyCode == 10 ) {
        Search();
    }
 }

基于this

Demo

【讨论】:

    【解决方案3】:

    你可以试试这个

    function ProcessKeyPressed(e) {
        var event = e || window.event;
        var key = event.charCode || event.keyCode
        if (key == 13 || key == 10 ) {
            Search();
        }
    }
    

    【讨论】:

      猜你喜欢
      • 2014-05-30
      • 2010-11-16
      • 2015-01-01
      • 2015-08-22
      • 2010-11-03
      • 1970-01-01
      • 2013-08-13
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多