zoukankan      html  css  js  c++  java
  • 解决jequry使用keydown无法跳转的问题

    0x00 问题描述

    代码

    <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>
    

    实现功能

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

    主要问题

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

    0x02 解决方案

    将keydown换成keyup

    原理剖析

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

  • 相关阅读:
    ceph部署与问题
    openstack常见问题汇总
    css
    html
    zookeeper
    ZAB协议
    快速排序
    Servlet梳理
    tomcat性能优化梳理
    tomcat梳理
  • 原文地址:https://www.cnblogs.com/leviatan/p/8322482.html
Copyright © 2011-2022 走看看