#javascript #jquery #keyboard #navigation
#javascript #jquery #клавиатура #навигация
Вопрос:
Я использую этот скрипт для навигации с помощью клавиш со стрелками на клавиатуре. Но проблема в том, что я не могу вызвать click.
<script>
$(document).keyup(function(e){
switch (e.keyCode){
case 39:
if( $(".imgnav-next").attr("href")){
$(".imgnav-next").trigger("click");
}
break;
case 37:
if( $(".imgnav-prev").attr("href")){
$(".imgnav-prev").trigger("click");
}
break;
}
});
</script>
Это часть html с навигацией:
<div class="imgnav-prev-container">
<a href="prev.html" class="imgnav-prev">Next pic</a>
</div>
<div class="imgnav-next-container">
<a href="next.html" class="imgnav-next">Previous pic</a>
</div>
Ответ №1:
Это должно сработать:
$(document).keyup(function(e){
switch (e.keyCode){
case 39:
if( $(".imgnav-next").attr("href")){
window.location = $(".imgnav-next").attr("href");
}
break;
case 37:
if( $(".imgnav-prev").attr("href")){
window.location = $(".imgnav-prev").attr("href");
}
break;
}
});
Ответ №2:
На самом деле это щелчок, просто кажется, что он ничего не делает, потому что к вашим a
тегам не привязано ничего, что говорило бы, что на него нажали. Также я не думаю, что в браузерах, использующих JS, разрешено делать ложный щелчок, я имею в виду, подобное поведение, когда вы буквально щелкаете по нему мышью и переходите к URL. Вы можете написать код, чтобы сделать это click
так, но он не перейдет к href
подобному, когда вы буквально нажимаете на него. Однако вы можете подделать действие чем-то вроде:
`window.location.href = $(".imgnav-next").attr("href");`