这个问题困扰了我几天了。GOOGLE了N次,还是没有结果!都快郁闷死了,没办法只好一个键一个键的试了。
最后发现shift对应16,Tab对应9,回车对应13,左、上、右、下四键分别对应37、38、39、40。搞定这些我足足花了两个小时。到现在还没找到组合键shift+Tab对应的keyCode。
利用javascript程序给IE控件添加onKeyDown事件。按回车或者方向下键来替代Tab,实现代码也很简单:
<script language="javascript">
<!--
function changeFocus()
{
if((window.event.keyCode == 13) | (window.event.keyCode == 40) | (window.event.keyCode == 39))
window.event.keyCode = 9;
}
//-->
</script>
<input onKeyDown="changeFocus()"/>
但是这样也仅仅完成用户需求一部分。按方向上键或左键实现shift+Tab的工作,我一直没有找到解决的方法。查阅javascript2.0文档,发现shift按键对应的是window.event.shiftKey属性。不过,这好象并没有多大的帮助,仍然没有解决求出组合键keyCode的问题。希望晚上可以搞定这个小问题,把本文的下半部分补齐,呵呵。
原本以为这个需求并不复杂,但是现在看来又是小问题在耽误时间了。改数据库结构这么大的问题都仅仅用了半个小时就搞定了,这么个小问题却让我郁闷了一天。先去洗衣服吧,停了两天的水,现在终于来水了。
Trackback: http://tb.donews.net/TrackBack.aspx?PostId=241606