簡體   English   中英

JavaScript:在輸入文字上使用上下箭頭

[英]JavaScript: Using up and down arrows on input text

我的javascript鍵有問題,Chrome(目前僅在chrome上進行測試)無法識別文本輸入上的向上和向下箭頭,因為它具有更改插入符位置的默認行為。 我的代碼如下:

 if (!e) e = window.event;
var keyCode = e.keyCode || e.which;

if (keyCode == '13'){ //enter key
    //some code that works
    return false;

}else if(keyCode=='38'){ //up key
    //some other code that doesn't work
    return false;

}else if(keyCode=='40'){ //down key
    //some other code that doesn't work
    return false;
}

如果有人有解決方案,我將不勝感激。 謝謝!

很難看到代碼的來源(我猜是按鍵監聽器)。 正如您在下面看到的和這種小提琴一樣 (並且Teemu也指出了這一點),按鍵不會被箭頭鍵調用。

另外請注意,使用event.preventDefault()來防止瀏覽器的默認行為(在您插入插入符的情況下),並且偵聽器函數還可以將事件對象作為參數。

var listener = function (e) {
    e = e || window.event;

    alert(e.type);
    var keyCode = e.keyCode || e.which;

    if(keyCode=='38' || keyCode=='40'){ //arrow key
        alert("arrow!");
        e.preventDefault();
        return false;

    }        
}

var elem = document.getElementById('input');

elem.addEventListener('keydown', listener, false);

暫無
暫無

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

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