Javascript表现得很奇怪,只打开一个放置/拖动项目'alert'

时间:2010-01-11 13:09:09

标签: javascript-events

嗨我在我的页面中使用YAHOO.js嵌入拖放功能,这是在页面加载时初始化。当'alert'被放入init函数时,拖放操作正在起作用 它不是。使用Firebug我已经调试了代码并且在调用init函数时看到了,但是在没有警报时没有循环遍历函数。 按下ALT键时此功能应该有效。我在javascript上使用速度模板引擎。 示例代码:

<script type="text/javascript" language="JavaScript">


var myLogger;
  var dd1, ddTrashCan;  // draggable div objs

  #if ($displayOptions.isDoDragDropJavaScript())
      YAHOO.util.Event.addListener(window, "load", DD_TestInit);      
  #end

  function display(data) {
   var output = "<div>" + data.text + "</div>";
   element.innerHTML=output;
}
  function DD_TestInit() {
    #if ($showLoggerDiv)
      initLogger();
    #end  

//显示器( “日期”);     initDragObjects();

}

  function logMsg(strMsg) {
    if (myLogger)
      myLogger.debug(strMsg);
  }

  function initDragObjects() {

  //alert('---');

    if (dd1) dd1.unreg();
    if (ddTrashCan) ddTrashCan.unreg();

    YAHOO.util.DDM.mode = YAHOO.util.DDM.POINT;
    YAHOO.util.DDM.clickTimeThresh = 10;

    ## init constant drag objects, draggable div and droppable trash, resp.
    dd1 = new lineSched_Draggable("dragDiv1");  
    ddTrashCan = new lineSched_Droppable("TrashCan");
  }

我发现的是我发出警报或打电话给任何窗口。打开()这很好。 有什么线索发生在这里。 感谢

1 个答案:

答案 0 :(得分:0)

有延迟过程的计时器事件。我的感觉是这是一个计时问题。加载时页面未完全到位。警报会降低进程的速度,当用户在警报上单击“确定”时,页面就会到位。显然,我们无法使用警报部署应用程序。但是,我们可以查看不同的地方进行初始化。当页面收到最后一个表格时,我们可以尝试将它添加到我添加时间的相同位置。此页面应该完全形成,功能应该正常工作。