此脚本与Chrome和Safari完美配合,但由于某种原因,Firefox正在烦恼:
<script type="text/javascript">
var $j = jQuery.noConflict();
$j(document).ready(function(){
$j(function(){
$j('.next').click(function() {
location.href = $j(this).attr('href');
});
$j('.prev').click(function(){
location.href = $j(this).attr('href');
});
});
$j('body').keydown(function(event) {
if(event.keyCode==82) {
$j(document).trigger(location.href = '/?random');
}
if(event.keyCode==39) {
$j('.next').trigger('click');
}
if(event.keyCode==37) {
$j('.prev').trigger('click');
}
});
$j('input, textarea').keydown(function(){
event.stopPropagation();
});
});
</script>
如果您在键盘上向左或向右按,则会转到下一个/上一页。如果你点击R,它会带你到一个随机页面。但是,如果您在input
或textarea
中输入内容,则会关闭键盘导航(因此,如果您按R,向左或向右键,则可以在没有意外页面加载的情况下键入)。 / p>
它在Chrome和Safari中运行良好,但在Firefox中它会出现问题,而键盘导航只能在您输入input
或textarea
时才有效。它与预期相反。
我已经禁用了Firefox中的所有附加组件,但没有帮助。有一些随机的时间,它已正常工作,但我不能复制它们。我很难过为什么这不适用于Firefox ......任何想法?非常感谢提前!
答案 0 :(得分:1)
您似乎错过了函数中的event
参数:
$j('input, textarea').keydown(function(){
event.stopPropagation();
});