AL_Cherish
2016-11-04 15:19
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-type" content="text/html; charset=utf-8" />
<title></title>
<style>
.left div,
.right div {
width: 500px;
height: 50px;
padding: 5px;
margin: 5px;
float: left;
border: 1px solid #ccc;
}
.left div {
background: #bbffaa;
}
em{
font-weight: 900;
color: red;
}
</style>
<script src="http://lib.sinaapp.com/js/jquery/1.9.1/jquery-1.9.1.min.js"></script>
</head>
<body>
<h2>keydown()与keyup()事件</h2>
<div class="left">
<h4>测试一</h4>
<div class="aaron">监听keydown输入:
<input class="target1" type="text" value="" /><br />
按下显示输入的值:<em></em>
</div>
<h4>测试二</h4>
<div class="aaron">监听keyup输入:
<input class="target2" type="text" value="" /><br />
松手显示输入的值:<em></em>
</div>
</div>
<script type="text/javascript">
//监听键盘按键
//获取输入的值
$('.target1').keydown(function(e) {
$("em:first").text(e.target.value)
});
//监听键盘按键
//获取输入的值
$('.target2').keyup(function(e) {
$("em:last").text(e.target.value)
});
</script>
</body>
</html>
顺序:第一次keydown input的值还是空 而此时获取input的结果为空 然后值跑到input框里 然后keyup
第二次 keydown input的值为第一次输入的字符串 获取也是第一次的 然后第二次输入的跑到input框里面 然后keyup
以此类推
楼上正解
在下一节找到的答案:
在input元素上绑定keydown事件会发现一个问题:
每次获取的内容都是之前输入的,当前输入的获取不到
keydown事件触发在文字还没敲进文本框,这时如果在keydown事件中输出文本框中的文本,得到的是触发键盘事件前的文本,而keyup事件触发时整个键盘事件的操作已经完成,获得的是触发键盘事件后的文本
jQuery基础(三)—事件篇
89984 学习 · 645 问题
相似问题