如何在keydown事件中使用id-name?

时间:2016-01-17 18:33:04

标签: javascript jquery

我有一个像这样的js代码:

$(document).on('keydown', function(e) {
    if (e.keyCode === 13) {

以上代码也适用(适用于所有textarea(s))。现在我想为所有textarea' s投入上述代码,除了id: #idname

我试过了:

$(document).on('keydown', 'textarea:not(#idname)', function(e) {
    if (e.keyCode === 13) {

但是这段代码不起作用,我该如何解决呢?

4 个答案:

答案 0 :(得分:1)

$(document).on('keydown', function(e) {
    if(document.activeElement === $("#idname")[0]) return;
    if (e.keyCode === 13) {

答案 1 :(得分:0)

试试这个

 if (!$(e.target).is("#idname") && e.keyCode===13) {
       //your stuffs
 }

答案 2 :(得分:0)

您可以,而不是投入所有textarea,只允许一个,知道您使用唯一身份#idname

<强> HTML

 <textarea>
     not this one
 </textarea>
 <br />
 <textarea id="idname">
     try this one
 </textarea>
 <textarea>
     not this one
 </textarea>

<强> JS

$(function() {
    $("#idname").on("keydown", function(event) {
        if(event.keyCode == 13) {
            /* do your job here */
        }
    });
});

JSFiddle

答案 3 :(得分:0)

使用:not()投放元素,e.which以此方式捕获密钥:

$('textarea:not("#idname")').keydown(function(e){
    if ( e.which == 13 ) alert('Hooray Enter was pressed!!');
});

<强> FIDDLE