我现在用DATALIST控件,排列的时候选择的水平排列,但是我想根据键盘上的方向键让光标根据DATALIST控件里面不同的数据实现左右上下移动,想用javascript来实现,求高人指点

解决方案 »

  1.   

    DataList里的数据是什么样的,图片还是文字,感觉像个游戏。
    选中某个图片上下左右移动?
      

  2.   

    我没有看明白,是让datalist来左右移动??
      

  3.   

    datalist解释到HTML里边的时候每个ITEM都有一个ID的,ID的规律是你DATALIST的ID+下划线+当前Item的Index,根据这个ID 你可以在JS中用GetElementByID()获取当前控件的内容,然后你可以用一个隐藏的INPUT保存当前ITEM的ID,根据这个ID计算它周围ITEM的ID。
      

  4.   

    理论上是可行的...给body增加onkeypress事件然后事件中
    event.keyCode值為37﹐38﹐39﹐40對應按下的方向鍵分別是 左﹐上﹐右﹐下
     if( 37 == event.keyCode )
            {
                moveLeft();
            }
    else if(38)
    ...控制元素移动的代码..
    网上找大把..我一般也是也的时候google
      

  5.   

    控制个div上下左右移动 ie下<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
    <html xmlns="http://www.w3.org/1999/xhtml"> 
    <head> 
    <meta http-equiv="Content-Type" content="text/html; charset=gb2312" /> 
    <title>无标题文档 </title>  
    <script type="text/javascript">
    var flagx=1;
    var flagy=1;
    var wwidth=document.documentElement.clientWidth;
    var wheight=document.documentElement.clientHeight ;
    function keyDown() { 
         
       var keycode = event.keyCode 
       var realkey = String.fromCharCode(event.keyCode) 
      // alert("keycode: " + keycode + " realkey: " + realkey) 
      if(document.getElementById('div1').style.position!="absolute")
      {
          document.getElementById('div1').style.position="absolute";
      }
       switch(keycode)
       {
          case 37 : if(flagx>0){document.getElementById("div1").style.left=flagx--}else{flagx=1};break;
          case 38 : if(flagy>0){document.getElementById("div1").style.top=flagy--}else{flagy=1};break;
          case 39 : if(flagx<wwidth){document.getElementById("div1").style.left=flagx++}else{flagx=wwidth};break;
          case 40 : if(flagy<wheight){document.getElementById("div1").style.top=flagy++}else{flagy=wheight};break;
       }

         document.onkeydown = keyDown </script>
    </head> 
    <body>
    <form id="form1" style="">
    <div id="div1" style='width:200px;height:200px;background-color:red;'></div>
    </form>
    </body> 
    </html> 
      

  6.   

    datalist的焦点数据上下左右跑?呵呵、、想法有意思不过......
      

  7.   

    我想你应该是把DataList先加在Panel里面.
    然后给Panel加个onkeypress事件.
    获取event.keyCode 如果为37﹐38﹐39﹐40 根据点击不同的方向键
    来触发不同的事件.