jQuery'输入' -key事件处理程序

时间:2016-08-18 16:03:52

标签: javascript jquery html keypress onkeypress

我在使用'输入' -key作为事件来添加'表格'到列表。 下面的代码有效,但只有当我按下" cmd +输入"组合,它将项目添加到我的列表中并打开具有相同页面的新选项卡。

我愿意实现的目标是什么时候形式'字段是焦点,我按“输入' -key”(不是' cmd +输入'组合),该项目将添加到列表中,并且不会使用同一页面打开新的额外选项卡。 (我在Firefox 48.0和Safari 9.1.2中测试我的代码)

这是代码的html部分:

<form id="inputWindow"> Type-in here: <input type='text' name='input'></input></form>

这是代码的jQuery部分。

$(document).ready(function() {
 $('#inputWindow').keypress(function(event) {

if (event.which == 13){
var answer = $("input[name=input]").val();
    $('.list').append('<div class="item">' + answer + '</div>');
   });
});

2 个答案:

答案 0 :(得分:0)

您遗失了一些}); jsfiddle

$(document).ready(function() {
  $('#inputWindow').keypress(function(event) {

     if (event.which == 13){
       var answer = $("input[name=input]").val();
        $('.list').append('<div class="item">' + answer + '</div>');
     }
  });
});

答案 1 :(得分:0)

实际上使用.submit而不是.keypress事件要容易得多。 通过在html部分添加onsubmit =“return false”,可以轻松解决页面重新加载的问题。所以代码应如下所示: HTML部分:

<form id="inputWindow" onsubmit="return false"> Type-in here: <input type='text' name='input'></input></form>

jQuery部分(假设你有$(document).ready):

$('#inputWindow').submit(function() {
var answer = $("input[name=input]").val();
    $('.list').append('<div class="item">' + answer + '</div>');
});