2010-06-16 2 views
0

У меня есть код, если я нажимаю кнопку вниз она переходит к следующему текстовому полю, но, чтобы перейти к предыдущему текстовому полю, что должно быть код ...Каким будет код для перехода к предыдущему текстовому полю?

<html> 
<head> 
<script language="JavaScript"> 
function handleKeyDownEvent(elementRef,eventRef) 
{ 
var charCode = (window.event) ? eventRef.keyCode : eventRef.which; 

//alert(charCode); 

// Arrow keys (37:left, 38:up, 39:right, 40:down)... 




if (charCode == 40) 
{ 
    if (window.event) 
    window.event.keyCode = 9; 
    else 
    event.which = 9; 

    return true; 
} 



return true; 
} 



</script> 
</head> 
<body> 
<table width="433" border="1" cellspacing="0" cellpadding="0"> 
     <tr> 
       <td width="235" align="center"><input type="text" onKeyDown="handleKeyDownEvent(this,event);" onKeyUp="handleKeyUpEvent(this,event);"></td> 
       <td width="235" align="center"><input type="text" onKeyDown="handleKeyDownEvent(this,event);" onKeyUp="handleKeyUpEvent(this,event);"></td> 
     </tr> 
     <tr> 
       <td width="235" align="center"><input type="text" onKeyDown="handleKeyDownEvent(this,event);" onKeyUp="handleKeyUpEvent(this,event);"></td> 
       <td width="235" align="center"><input type="text" onKeyDown="handleKeyDownEvent(this,event);" onKeyUp="handleKeyUpEvent(this,event);"></td> 
     </tr> 
     <tr> 
     <td> 
     <input type="radio" id="check" name="check" checked> 
     </td> 
     <td> 
     <input type="radio" id="check" name="check" checked> 
     </td> 
     </tr> 

     <tr> 
      <td><input type="checkbox" id="check" name="check"></td> 
      <td><input type="checkbox" id="check" name="check"></td> 
     </tr> 

</table> 

</body> 
</html> 

ответ

0

В вашем коде KEYCODE 9 имитирует нажатие на вкладку» '. По существу, что вы хотите сделать, чтобы вернуться назад, имитируется «shift» + «tab». Код Shift равен 16, поэтому нужно добавить строку window.event.keyCode = 16; над аналогичной строкой с 9 и event.which = 16; над другим.

Если это не сработает, вам может потребоваться связать их вместе каким-то образом, чтобы событие key-up, связанное с событием shift-key, запускало имитируемое нажатие на вкладку. Это можно сделать, добавив еще один обработчик событий до или после того, который у вас уже есть. Обработчик должен быть похож на тот, который у вас уже есть, но измените его на обработчик keyUp и проверьте ключ 16 вместо 40.

Смежные вопросы