检查下面的代码。当我在输入字段中输入一些关键字并按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>
答案 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");
}
});