2015-02-05 2 views
-5
// Private 
    makeRowsDraggable: function() { 
     var dragInitiated = false; 
     var startPageX, startPageY; 
     var moving; 

     var me = this; 

     $(this.el).interactable({ 
      start: function(e) { 
       if (e.which > 1 || me.disabled) 
        return true; 

       moving = $(e.target).closest(".draggable")[0]; 
       if (!moving) 
        return true; 
       moving = $(moving).closest("tr")[0]; 

       dragInitiated = false; 
       startPageX = e.pageX; 
       startPageY = e.pageY; 

       return false; 
      }, 

      move: function(e) { 
       // If value updates during a drag the row might disappear 
       if (!moving.parentNode) 
        return; 

       var DRAG_TOLERANCE = 4; 

// this line shows its event is not defined 
       if (!dragInitiated && (Math.abs(event.pageX - startPageX) > DRAG_TOLERANCE || Math.abs(event.pageY - startPageY) > DRAG_TOLERANCE)) 
        dragInitiated = true; 

       if (dragInitiated) { 
        var $rows = $(me.el).find(".glut-list-item"); 
        var y = e.pageY; 
        for (var i = 0; i < $rows.length; i++) { 
         var top = $($rows[i]).offset().top; 
         var height = $rows[i].offsetHeight; 
         if (y < top + height/2) 
          break; 
        } 

        var insertBefore = $rows[i]; 
        if (insertBefore) { 
         if (insertBefore == moving || insertBefore.previousSibling == moving) 
          return false; 
        } else if ($rows[i - 1] == moving) 
         return false; 

        moving.parentNode.insertBefore(moving, insertBefore); 

        me.refreshValue({ edit: true, dom: false }); 

        return false; 
       } 
      }, 

      stop: function() { 
       if (dragInitiated) 
        return false; 
      } 
     }); 
    }, 

ошибка в том, что событие не определено.событие не работает в firefox

+1

изменение '' event' к é' –

+0

Как вы могли закодировать это много и не знает, как отладить эту ошибку – Huangism

+0

Я считаю, скопировать Pase хорошее начало;) –

ответ

0

Вы вызываете переменную, которую вы передаете в свою move функцию e и позже ссылаетесь на нее как event. Вам просто нужно заменить event с в линии e, выбрасываемый ошибка.

0

Вы должны использовать e.pageX, e.pageY вместо event.pageX, event.pageY, потому что в обратном вызове вы использовали e в качестве аргумента.

Смежные вопросы