需求:本来有一个可以拖动DIV的DRAG类,对于静态DIV有效,具体可看http://youngpup.net/projects/dom-drag/ex1.html(演示代码)现在我通过按纽事件动态产生了一个DIV,然后用这个DRAG类,就无效了,好象捕获不到事件一样.求助~~~~~代码如下<html>
<head>
<script language="javascript" src="http://youngpup.net/projects/dom-drag/dom-drag.js"></script></head>
<body>
<img id="foo" class="dragAble" src="g.gif" style="position:absolute; left:100px; top:20px;" /><script language="javascript">/************************************************** 
我写的部分,setconfig就是新生成一个DIV 
然后用Drag.init(document.getElementById( "message ")); 使用封装类的函数(让它拖动) 
这个时候无效了??? 
代码可执行,大家帮我看看 
  **************************************************/ 
function setConfig(e)
{
  var str = ""
  + "<div id=message "
    + "class=dragAble "
   + "style="
    + "width:400px;"
   + "height:200px;"
   + "background-color:lightyellow;"
      + "position: absolute;"
   + "left:0px;"
  + "top:0px;"
   + ">"
    +"ddddd"
   +"</div>"
  //alert(str);
  document.body.insertAdjacentHTML("beforeEnd",str);
}//对于静态的DIV有效
Drag.init(document.getElementById("foo"));
</script>
<input type="button"  value="提交"  onClick="setConfig();">
<body>
</html>

解决方案 »

  1.   

    楼主把dom-drag.js发出来才能调试啊,你给的信息不全,怎么给你debug啊?
      

  2.   

    1.我觉得用字符串方式生成div(或其他的)不是个好办法,因为不利于调试和维护,建议:
        var div = document.createElement("div");
        div.style.width = 400px;
        div.style.height = 200px;
        div.style.backgroundColor = "lightyellow";
        ......
        document.body.appendChild(div);      // 将div插入页面
    2.你似乎并没有把创建的div和Drag类关联,你是怎么让Drag类知道你要处理哪个div?