重定向不起作用按键盘上的Enter键

时间:2018-10-02 13:23:08

标签: javascript jquery html

检查下面的代码。当我在输入字段中输入一些关键字并按Search按钮时,它成功重定向到了youtube url,但是如果按Enter,则此链接未重定向,但是我使用了.click()方法输入Enter。我该如何解决?我想通过按键盘上的Enter键并同时按搜索按钮进行重定向。我该如何解决?

$(document).ready(function () {
  $(document).on("keypress", function(e){
      $("#srcBtn").click();
  });

  $('#srcBtn').on('click', function () {
      var srcValue = $('#srcValue').val();
      var youtubeUrl = 'https://www.youtube.com/results?search_query=';
      //console.log(srcValue);
      window.open(youtubeUrl+srcValue,"_self");
  });    
});
<script src="https://code.jquery.com/jquery-3.3.1.min.js"></script>
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" >
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap-theme.min.css">
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script>
    
<div class="container">
  <form method="get" action="">
    <br/>
    <br/>
    <br/>
    <div style="text-align:center;">
      <input type="text" class="form-group form-control input-lg" id="srcValue" value="" placeholder="Search YouTube">
      <button type="button" class="btn btn-info btn-lg" id="srcBtn">Search</button>
    </div>
  </form>
</div>    
    

   

2 个答案:

答案 0 :(得分:0)

请不要使用通话,只需单击Trigger(“ click”)

$(document).ready(function () {

 $(document).on("keypress", function(e){
if(e.key ==  'Enter') {
   $("#srcBtn").trigger("click");
}

        });


        $('#srcBtn').on('click', function () {
            var srcValue = $('#srcValue').val();
            var youtubeUrl = 'https://www.youtube.com/results?search_query=';
            //console.log(srcValue);
            window.open(youtubeUrl+srcValue,"_self");
        });

        });

答案 1 :(得分:0)

我希望在函数中执行搜索部分并触发它。而不是一些奇怪的“每次代码单击按钮”。按钮是供人类触发代码的,而不是^^

$(document).ready(function () {
  $(document).on("keypress", e => {if(e.key == "Enter") searchYoutube()});
  $('#srcBtn').on('click', searchYoutube);
  function searchYoutube() {
    var srcValue = $('#srcValue').val();
    var youtubeUrl = 'https://www.youtube.com/results?search_query=';
    //console.log(srcValue);
   window.open(youtubeUrl+srcValue,"_self");
  }
});