簡體   English   中英

按下或按下jQuery呼叫事件

[英]jQuery call event on keydown or keyup

我正在嘗試在keydown和keyup上更改div元素的顏色,但是我似乎無法使其正常工作。 我已經檢查了我可以在互聯網上找到的每個示例,但是我的代碼似乎無法正常工作。

我發現的所有示例似乎都使用表單輸入文本字段作為按鍵的目標。 我不想那樣做。 這是我的代碼:

$(document).keydown(function(e){
    if(e.which == 'A')
    {
        alert('key was pressed');
        $(#k1).css('background-color', "blue");
    }
});

我的想法是$(document)在那里不正確,因為從未調用過該函數。 但是因為我發現的所有示例都使用文本字段輸入,所以我無法弄清楚該放在哪里。

現場演示

$(document).keydown(function(e){
    if(e.which == 65){
        alert('Pressed key was: '+ e.which );
        $("#k1").css( { backgroundColor:"blue" } );
    }
});

如果您需要$('input')而不是$(document)來使用它,
65event.which對於A

幾件事。 首先,該event.which將返回與鍵相關的數字。 其次,您的jquery目標需要是一個字符串。 因此,將=='A'更改為==65 ,將$(#k1)更改$("#k1") 這是一個演示: http : //jsfiddle.net/AeBtV/

js

$(document).keydown(function(e){
 if(e.which == 65)
 {
    alert('A key was pressed');
    $("#k1").css('background-color', "blue");
 }
});

注意關鍵代碼編號:

A到Z的范圍是65-90。因此A為65,Z為90,R為82。

我已經使用.live捕獲了keyup和keydown事件:

$(“#my_id”)。live('keydown',function(event){

...

});

您的which條件無效。 應該說是65歲。

http://api.jquery.com/keypress/

如果向下滾動,則可以鍵入任何鍵,並查看每個鍵的值。

或者,您可以

console.log(e.which);

暫無
暫無

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

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