2012-03-05 4 views
0

http://jsfiddle.net/mhenrixon/zPLgS/16/에 자바 스크립트의 다음 조각이 있고 일반적인 브라우저에서 정상적으로 작동하지만 IE Mobile for Windows CE 6.0에서 제대로 작동 할 수 없습니다. 누구든지 그 문제를 해결하는 방법을 알고 있습니까?윈도우 모바일에서 탭으로 변환 변환

function tab(field, event) { 
    if (event.which == 13 /* IE9/Firefox/Chrome/Opera/Safari */ || event.keyCode == 13 /* IE8 and earlier */) { 
     for (i = 0; i < field.form.elements.length; i++) { 
      if (field.form.elements[i].tabIndex == field.tabIndex + 1) { 
       field.form.elements[i].focus(); 
       if (field.form.elements[i].type == "text") { 
        field.form.elements[i].select(); 
        break; 
       } 
      } 
     } 
     return false; 
    } 
    return true; 
}​ 

답변

0

감사합니다. em은 키를 얻지 못했고 전파가 변경되지 않았거나 실제로는 매우 쉽습니다.

전체 솔루션

function tab(field, event) { 
    if (event.which == 13 /* IE9/Firefox/Chrome/Opera/Safari */ || event.keyCode == 13 /* IE8 and earlier */) { 
    nextElement(field); 
    return false; 
    } 
    return true; 
} 

function nextElement(field) { 
    for (var i = 0; i < field.form.elements.length; i++) { 
    if (field.form.elements[i].tabIndex == field.tabIndex + 1) { 
     field.form.elements[i].focus(); 
     if (field.form.elements[i].type == "text") { 
     field.form.elements[i].select(); 
     break; 
     } 
    } 
    } 
} 
1

당신이 단지 TABENTER에서 event.which 또는 event.keyCode을 변경하고 기본 동작을 통해 가자한다면? 뭔가 같은 :

function tab(event) { 
    if (event.which && event.which == 13) 
     event.which = 9; 
    else if (event.keyCode && event.keyCode == 13) 
     event.keyCode = 9; 
} 

들이 키 코드가 윈도우 모바일에 대한 다른 경우 확실하지만, 당신이 할 필요가 alert(event.which); 또는 alert(event.keyCode);입니다 알아낼 수 없습니다.