2013-02-07 71 views
1

我正在構建一個項目,其中將有兩個div將其CSS切換到不同的單獨按鍵上。DOM元素上的jQuery鍵盤事件

我使用這個jQuery庫:https://github.com/jeresig/jquery.hotkeys/

你可以看到一個簡單的演示在這裏:http://lazarogamio.com/projects/key_test/

這裏是我的HTML:

<div class="test_box" id="red"></div> 

<div class="test_box" id="green"></div> 

我的CSS:

.test_box { 
width: 200px; 
height: 200px; 
border: 2px solid #000; 
margin: 20px; 
float: left; 
} 

.red { 
background-color: red; 
} 

.green { 
background-color: green; 
} 

而我的jQuery:

function keymap(){ 

$(document).bind('keydown', 'r', function (evt){ 
    $('#red').toggleClass('red'); 
    }); 

$(document).bind('keydown', 'g', function (evt){ 
    $('#green').toggleClass('green'); 
    }); 
}; 

$(document).ready(keymap); 

目前,keydown事件正在工作,但對於每個鍵和兩個div。我原本每個div都由一個單獨的函數控制,但是我的結果是一樣的。我也試圖映射其他鍵無所事事,無濟於事。我的直覺是,我沒有正確定位鍵,或者沒有將功能綁定到正確的對象?

回答

1

您在包含hotkeys之前包含jQuery。它需要是相反的。目前,你只是像正常一樣綁定​​,hotkeys包含沒有效果。

如果包括jQuery的第一,它應該工作,你希望:

http://jsfiddle.net/ExplosionPIlls/GGvrd/

+0

哇,我簡直不敢相信這是這麼簡單。謝謝一堆! –