在http://jsfiddle.net/mhenrixon/zPLgS/16/上有以下javascript,并且它在常规浏览器中工作正常,但我不能在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 :(得分:1)
如果您只是将event.which
或event.keyCode
从ENTER
更改为TAB
,并让默认行为通过,该怎么办?类似的东西:
function tab(event) {
if (event.which && event.which == 13)
event.which = 9;
else if (event.keyCode && event.keyCode == 13)
event.keyCode = 9;
}
不确定他们的密钥代码是否与Windows Mobile不同,但要确定您需要做的只是alert(event.which);
或alert(event.keyCode);
。
答案 1 :(得分:1)
我无法测试任何这些链接,因为我没有任何带有Windows Mobile的移动设备,但也许有一些对您有所帮助:
答案 2 :(得分:0)
谢谢大家,问题是没有获得密钥,它没有改变传播或类似的东西,实际上很容易。
完整解决方案
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;
}
}
}
}