1. 程式人生 > >解決jequry使用keydown無法跳轉的問題

解決jequry使用keydown無法跳轉的問題

點擊 logs scrip div http gpo cti keycode 獲取

問題描述

代碼

    <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無法跳轉的問題