检测在某一类的输入元件输入(Detect enter in input elements of a

2019-08-04 02:53发布

我需要检测,当有人打在文本输入与特定的类“进入”。

我jQuery是如下:

$('input.large').keypress(function (e) {
    if(e.which ==13)
        console.log("pressed enter");
});

我的HTML是这样的:

<tr><td> Personal Name </td></tr>
<tr><td> <input type='text' class='large'> </td></tr>

<tr><td> Email</td></tr>
<tr><td> <input type='text' class='large'> </td></tr>

当我给田野ID和尝试$('#elementid').keypress它的工作。 但是,这是行不通的。 我没有得到任何控制台输出。 我在想什么?

Answer 1:

您可以使用实时( 。上() )事件documentkeydown (我认为这是更好)。 这将允许您检测keydown在与选择匹配当前和未来元素。

HTML:

<strong>Personal Name</strong>
<input type='text' class='large' /><br />

<strong>Email</strong>
<input type='text' class='large' />
​

JS(可运行使用jQuery 1.7+):

jQuery(document).on('keydown', 'input.large', function(ev) {
    if(ev.which === 13) {
        // Will change backgroundColor to blue as example
        this.style.backgroundColor = '#EFF';

        // Avoid form submit
        return false;
    }
});

的jsfiddle: http://jsfiddle.net/qvhWD/



Answer 2:

检查这一个: http://jsfiddle.net/EJyyr/

使用这个网站:

<tr><td> Personal Name </td></tr>
<tr><td> <input type='text' class='large' id='a'> </td></tr>

<tr><td> Email</td></tr>
<tr><td> <input type='text' class='large' id='b'> </td></tr>

这是jQuery的which logs the input text id

$('.large').keypress(function (e) {
   if(e.which ==13)
    console.log($(this).attr('id'));
});


Answer 3:

感谢大卫·罗德里格斯感谢你的解释。 它帮助了很多。 我升级我的jQuery库和.live()函数停止正常工作。

你可以用它来以下

选择一个表单的所有复选框,输入时点击select_all_checkboxes输入类型复选框:

jQuery(document).on("click", "#select_all_checkboxes", function(){
    var chk = this.checked;
    $('input[id=selectAll]').each(function(){
        this.checked = chk;
    });
});

调用函数“checkMail”当用户使用具有类名“电子邮件”在任何领域的标签OU点击离开赛场:

jQuery(document).on("blur", 'input.email', function(event){
    var email = $(this).val();
    if (!checkMail(email)) {
        alert("Invalid email.");
        $(this).focus();
    }
});


文章来源: Detect enter in input elements of a certain class