2011-03-10 83 views
0

我有一個應用程序使用微軟webbrowser類(IE的ActiveX)。 我想綁定keydown事件並將自定義控件添加到箭頭鍵,但使用箭頭鍵時不會觸發keydown事件。jQuery箭頭鍵綁定(網頁瀏覽器類IE)

我嘗試下面的代碼來捕獲keydown事件:

$(document).keydown(function(e){ 
alert("keydown"); }); 

$("#element").keydown(function(e){ 
alert("keydown"); }); 

document.onkeydown = function(evt) { 
    evt = evt || window.event; 
    var keyCode = evt.keyCodeq 
    if (keyCode >= 37 && keyCode <= 40) { 
     alert("ok"); 
     return false; 
    } 
}; 

的keydown事件的作品,刪除通過例如鍵,但使用箭頭鍵時沒有。 當我使用activex瀏覽器中的箭頭鍵時,文檔會滾動,但無法添加自定義控件。

在常規的IE(非activex)中一切正常。

有什麼建議嗎?

+0

可能重複:http://stackoverflow.com/questions/1402698/binding-arrow-keys-in-js-jquery – n00b 2011-03-10 09:21:27

回答

1

其實沒什麼可做的。

1.

<input type="text" id="test_element"> 

2.

<script type="text/javascript"> 
$(function(){ 
$("#test_element").keydown(function(e){ 
    switch(e.which){ 
    case 37: movement = 'left'; break; 
    case 38: movement = 'up'; break; 
    case 39: movement = 'down'; break; 
    case 40: movement = 'right'; break; 
    default: movement = false; break; 
    } 
    if(movement){ 
    alert("You just clicked "+movement+" arrow key"); 
    } 
}); 
}); 
</script> 
+0

這是正確,當我使用常規的IE瀏覽器 當我在瀏覽器控件(activex)中調用我的網頁時,我使用#test_element中的箭頭鍵沒有任何反應 例如:http://dl.dropbox.com/u/399104/截圖/ 2011-03 -10_1041.swf 第一個屏幕= IE8 第二個屏幕=我的應用程序中的webbrowser控件 – 2011-03-11 10:27:13