首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >jQuery按键不一致

jQuery按键不一致
EN

Stack Overflow用户
提问于 2020-01-22 08:04:29
回答 2查看 69关注 0票数 0

在按ESC键时,我希望找到链接的href属性并重定向到该属性。我使用的是下面的代码,它可以工作,但是它是不一致的,我不知道为什么。

页面上有输入表单值,如果光标在某些输入字段中,并且按下ESC键,那么它就不能工作。然而,奇怪的是,如果我在jquery代码中添加了警报,那么它就会显示警报和重定向。

即使在某些输入字段聚焦时,我如何使其重定向?

代码语言:javascript
运行
复制
 $(document).ready(function() {
   $(document).keydown(function(e) {
     var code = (e.keyCode ? e.keyCode : e.charCode);
     if (e.keyCode == 27) {
       var href = $('a').attr('href');
       alert(href); //notice this alert
       if (href) {
         $(location).attr("href", href);
       }
     }
   });
 });

在上面的代码中,请注意警报。如果警报在那里,它就会工作,如果我删除这一行,它就不起作用了。这是演示。(我只查看了Firefox)。

JSFiddle:https://jsfiddle.net/3q56atsm/

EN

回答 2

Stack Overflow用户

发布于 2020-01-22 08:19:52

尝尝这个。

代码语言:javascript
运行
复制
$(document).ready(function() {
    $(document).keydown(function(e) {
        var code = (e.keyCode ? e.keyCode : e.charCode);
        if (e.keyCode == 27) {
            var href = $('a').attr('href');
            if (href) {
                $(location).attr("href", href);
            }
        }
    });
});
代码语言:javascript
运行
复制
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
 <input type="text">
        <a href="https://stackoverflow.com/questions/59855117/jquery-keydown-is-not-consistent/59855330#59855330">Some test</a>

票数 0
EN

Stack Overflow用户

发布于 2020-01-22 08:35:07

我也面临过同样的问题,希望它能奏效。

代码语言:javascript
运行
复制
$(document).ready(function() {
        $(document).keydown(function(e) {
          keyCode(e);
        });
  });

  function keyCode(event) {
    var x = event.keyCode;
    if (x == 27) {
      alert ("You pressed the Escape key!");
    }else{
      alert("Other Key");
    }
  }
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59855117

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档