2016-07-21 4 views
0

Недавно я пытался получить id = атрибут «any-id» Div, который перетаскивается, но до сих пор мне не удалось. , Ниже вы найдете мой код (только часть перетаскивания), где я пытаюсь получить этот атрибут ID с объектами ui и event, но я не вижу, где проблема.Получить идентификатор атрибута элемента Div, который перетаскивается с помощью JQUERY

$(function() 
{ 
    $(".action-zone").draggable(
    { 
     scroll: true, 
     helper:"clone", 
     snap: ".actionDropAreaMovebleAction", 
     snapMode: "inner", 
     snapTolerance: 50, 
     opacity: 0.7, 
     forcePlaceholderSize: true, 
     forceHelperSize: true, 
     start: function(event, ui) 
     { 
      alert(ui.draggable.attr("id")); 

      //INSERT THE DROP ZONE DIV IN ALL ELEMENTS EXCEPT ON THOSE WHOSE CLASS IS DRAGGINGACTION 
      $(".action-zone:not(.draggingAction)").after("<div class='actionDropAreaMovebleAction'>\n\ 
              <div class='plus'>\n\ 
               <i class='fa fa-hand-o-down'></i>\n\ 
              </div>\n\ 
             </div>"); 

      $(".actionDropAreaMovebleAction").addClass("highlighted"); 
      makeActionsDroppable(); 
     }, 
     stop:function(event, ui) 
     { 
      $(".actionDropAreaMovebleAction").removeClass("highlighted"); 
      $("div").remove(".actionDropAreaMovebleAction"); 
      $(this).removeClass("draggingAction"); 
      //alert("hallo"); 
     } 
    }); 
}); 

Как вы можете видеть, что я пытаюсь «оповещение()» атрибута ID элемента DIV с классом «остросюжетных зонами» только для целей тестирования, но когда предупреждение приходит I получить "undefined" элемент назад.

Кто-нибудь не знает, почему это произошло?

Благодарю вас заранее.

ответ

0

Вы можете использовать только ui.draggable, чтобы получить перетаскиваемую объект при удалении его где-нибудь еще, как вы можете поймать объект в droppable:

$(".drop-zone").droppable({ 
    drop: function(event, ui) { 
    console.log(ui.draggable); // will give you the draggable object 
    } 
}); 

Однако в start случае ваши draggable «ы, вы можете получить id of you object:

$(".action-zone").draggable({ 
    start: function(event, ui) { 
    console.log(ui.draggable); // will give you undefined 
    console.log(event.target.id); // will give you the id 
    console.log(event.target.attr('id')); // error! 
    console.log($(event.target).attr('id')); // will give you the id 
    } 
}); 
+0

Hello lozy219. Я пытался вывести «event.target.id» внутри функции перетаскивания раньше, и он не работал ни с одним из них. Я только что применил ваши предложения внутри функции droppable, и она не работала нигде. Я все еще не знаю. посмотрите: http://www.imageno.com/78qs52xowtnzpic.html –

+0

Без дополнительной информации я не могу сказать, что случилось с событием перетаскивания. Вот очень простое демонстрационное показание, показывающее, как идентификатор выводится через event.target. Я использовал пример html с сайта jquery. https://jsbin.com/sisigurexu/edit?html,js,output – lozy219

+0

Вы правы. Это действительно работает. Я имею в виду, что я создал отдельный файл и использовал этот код, который вы создали, и он сработал, но каким-то образом внутри моего основного кода он не работает ... Я должен посмотреть на весь мой код, потому что что-то не матч .. спасибо за вашу помощь Лози –

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