解决jequry使用keydown无法跳转的问题

Posted WindSpirit

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了解决jequry使用keydown无法跳转的问题相关的知识,希望对你有一定的参考价值。

问题描述

代码

    <script>
        $("document").ready(function() {
            $("#button").click(function() {
                $val = $("#input").val();
                window.location.href = ‘http://www.baidu.com/s?wd=‘ + $val;
            })

            $("#input").keydown(function(event) {
        var keyCode = event.keyCode ? event.keyCode : event.which ? event.which : event.charCode;
                if (keyCode == "13") {
                    $val = $("#input").val();
                    window.location.href = ‘http://www.baidu.com/s?word=‘ + $val;
        }
            })
        })
    </script>

实现功能

在搜索框中输入问题,通过点击按钮和按下回车都可以跳转到百度搜索相应问题

主要问题

按下回车键,先可以在控制台里看到先跳转到百度搜索界面,但一瞬间又跳回到当前页面

解决方案

将keydown换成keyup

原理剖析

在jquery中按下按键(keypress)分为两部分:keydown和keyup,而在获取input值的时候是在keydown,也就是按键按下之后才开始获取,所以把跳转写在keydown中无法获取到input的值

以上是关于解决jequry使用keydown无法跳转的问题的主要内容,如果未能解决你的问题,请参考以下文章

window.location.href无法跳转的解决办法

关于webApi302跳转的问题

解决部分android手机页面跳转的黑白屏闪屏显示桌面背景问题

从微信打开,怎么跳转的 appstore

mui框架之a标签无法跳转的问题

关于eclipse的Progress一直跳转的解决方案