Javascript ведет себя странно, открывая элемент перетаскивания / перетаскивания, только «предупреждение» ставится - PullRequest
0 голосов
/ 11 января 2010

Здравствуйте, у меня есть функция перетаскивания на моей странице, встроенная с использованием YAHOO.js, которая инициализируется при загрузке страницы. Когда в функцию init введено «alert», Drag / Drop работает иначе это не так. Используя 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");
  }

То, что я обнаружил, - это то, где я помещаю предупреждение или вызываю любой window.open (), это прекрасно работает. Любая подсказка, что здесь происходит. Спасибо

1 Ответ

0 голосов
/ 09 июля 2010

Есть событие таймера, которое задерживает процесс. Я чувствую, что это проблема синхронизации. Страница не полностью на месте при загрузке. Предупреждение замедляет процесс, по сути, страница находится на месте к тому времени, когда пользователь нажимает кнопку «ОК» в предупреждении. Очевидно, что мы не можем развернуть приложение с предупреждением. Но мы можем заглянуть в разные места, чтобы поставить инициализацию. Мы можем попытаться разместить его там же, где я добавил время, когда страница получает последнюю таблицу. На этом этапе страница должна быть полностью сформирована, и функция должна работать правильно.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...