【发布时间】:2017-07-18 20:50:50
【问题描述】:
- 如果输入框没有焦点,应该触发keypress事件
- 如果输入框有焦点,按键事件应该被禁用,并且 应该允许输入文字。
- 我尝试过对焦和模糊,但没有奏效。
HTML
<div class="button">
<button class="btn">1</button>
<button class="btn">2</button>
<button class="btn">3</button>
</div>
<div class="form">
<form action="" id="submit">
<input type="text" id="num" number/>
</form>
</div>
<div id="show"></div>
JQUERY
$(function($){
//on click
$('.btn').click(function(){
var me = $(this);
$('#show').html(me.text());
});
//on keypress
$(window).keypress(function(k){
switch (k.keyCode) {
// user presses the "1"
case 49:
$('#show').html(1);
break;
// user presses the "2"
case 50:
$('#show').html(2);
break;
// user presses the "3"
case 51:
$('#show').html(3);
break;
}
});
//on submit
$('#submit').submit(function(e){
e.preventDefault();
var data = $('#num').val();
$('#show').html(data);
$('#num').val('');
})
});
【问题讨论】:
-
您是否尝试将
k.preventDefault();作为处理函数的第一行?
标签: javascript jquery