簡體   English   中英

Jquery .not() 等效於 javascript

[英]Jquery .not() equivalent in javascript

我想使用簡單的按鍵來實現快捷方式功能,盡管我不想在用戶輸入輸入或文本區域時觸發快捷方式。

我注意到 Jquery 有一個 .not() 方法,它允許這樣做:

$(document).not("input").on('keyup keydown keypress', function(event) {
    console.log(event);
    if(event.key == 'n') {
        alert('n pressed outside of input');
    }
});

因此,我正在尋找一個等價的純 javascript 或一個函數來檢查用戶是否沒有關注輸入。

document.onkeypress = (event) => {
    if (event.key == 'n') {
        console.log('n has been pressed! (input or not)');
    }
};

答案已由@ChrisG發表在評論中

盡管它不是.not()替代品,但它解決了我的問題

確實, event.target.tagName返回大寫標簽的名稱。

因此,此代碼有效:

document.onkeypress = (event) => {
    if (event.key == 'n' && event.target.tagName != 'INPUT' && event.target.tagName != 
    'TEXTAREA') {
        addTodo.click();
    }
};

您的答案是正確的,但是對於您的問題:javascript中的Jquery .not(“ input”)等效項是document.querySelectorAll(“:not(input)”)。

它返回輸入元素以外的元素數組

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM