我需要能夠用jQuery替換擊鍵。當按下右箭頭時,我想要按Tab鍵。到目前爲止,我有:如何用jQuery替換擊鍵?
<script type="text/javascript" src="jquery-1.6.1.min.js"></script>
<script type="text/javascript" src="jquery.simulate.js"></script>
<script type="text/javascript">
$(function() {
$("select").each(function() {
$(this).keydown(function(event) {
if (event.which == '39') {
$(this).simulate("keydown", { keyCode: 9, ctrlKey: false, shirtKey: false });
$(this).simulate("keypress", { keyCode: 9, ctrlKey: false, shirtKey: false });
$(this).simulate("keyup", { keyCode: 9, ctrlKey: false, shirtKey: false });
return false;
}
});
});
});
</script>
39是右箭頭,9是選項卡按鈕。此外,模擬keydown遞歸調用事件處理程序,這顯然是不好的,但即使沒有這一行,這仍然不起作用。
我使用jquery.simulate.js位於(http://code.google.com/p/jqueryjs/source/browse/trunk/plugins/simulate/jquery.simulate.js?r=6063)因爲我找不到用jQuery模擬按鍵的方法。
按鍵只是不模擬實際的按鍵。
對於正確的元素「焦點」不會更容易(如果您正在使用它來執行「標籤」) – balexandre 2011-05-19 20:50:02
您是否真的需要模擬標籤或只是移動焦點,如果您只是想移動將焦點放在下一個元素上,它可能更容易做$('#nextElement')。focus(); – ihumanable 2011-05-19 20:53:47
專注於下一個元素會好起來的,但我試圖在自動生成頁面上做到這一點,所以我無法知道下一個元素ID,名稱或類似的東西。我只知道我想把焦點轉移到下一個tabindex。 – Brandon 2011-05-19 20:59:52