Получение атрибутов для элемента в событиях перетаскивания - PullRequest
0 голосов
/ 16 сентября 2011

Какую информацию мне следует ожидать в событиях out и drop для сбрасываемого div? У меня есть два элемента div для сбрасываемых контейнеров: контейнер один с четырьмя вложенными элементами, контейнер два с одним вложенным элементом. Я перетаскиваю один элемент из контейнера один в контейнер два. В событии out для контейнера один я все еще нахожу четыре вложенных элемента. Тем не менее, в событии drop для контейнера два я нахожу один элемент, но это тот, который пришел из контейнера один. Итак, есть несколько проблем:

  1. Информация, найденная в обоих событиях, не отражает фактическое состояние контейнеров.
  2. Событие out не отражает того, что элементы были перемещены.
  3. Событие сброса показывает только удаляемый элемент.

Вот HTML-код для контейнеров и вложенных в них элементов.

<div id="container1" class="comdiv ui-widget-content" style="position: absolute; top: 40px; left: 40px; width:350px; height:250px;"> 
    <p id="heading" class="comhdr editableText">Container 1</p> 

    <br/> 
    <div id="u0014" class="comurl"><img class="dhandle" src="http://www.google.com/s2/favicons?domain=tf1.fr" align="middle" />&nbsp;<a href="http://tf1.fr" target="_blank">TF1.fr</a>  
    </div> 
    <div id="u0015" class="comurl"><img class="dhandle" src="http://www.google.com/s2/favicons?domain=www.aol.com" align="middle" />&nbsp;<a href="http://www.aol.com" target="_blank">AOL.com</a> 
    </div> 
    <div id="u0016" class="comurl"><img class="dhandle" src="http://www.google.com/s2/favicons?domain=www.facebook.com" align="middle" />&nbsp;<a href="http://www.facebook.com" target="_blank">Facebook.com</a> 
    </div> 
    <div id="u0017" class="comurl"><img class="dhandle" src="http://www.google.com/s2/favicons?domain=msn.com" align="middle" />&nbsp;<a href="http://www.msn.com" target="_blank">MSN.com</a>  
    </div> 

</div> 

<div id="container2" class="comdiv ui-widget-content" style="position: absolute; top: 40px; left: 240px; width:350px; height:250px;"> 
    <p id="heading" class="comhdr editableText">Container 2</p> 

    <br/> 
    <div id="u0018" class="comurl"><img class="dhandle" src="http://www.google.com/s2/favicons?domain=google.com" align="middle" />&nbsp;<a href="http://google.com" target="_blank">Google.com</a>  
    </div> 

</div> 

В javascript я перебираю вложенные элементы с помощью функций .children и .each следующим образом $('#'+divid).children('div').children('div').each().

function update_urls(divid) { 

   // add urls 

    var url = ''; 
    var urlname = ''; 
    var urllink = ''; 
    var urlid = ''; 
    $('#'+divid).children('div').children('div').each(function () { 

    url = $(this).find('a'); 
    urlname = url.text(); 
    urllink = url.attr('href'); 
    urlid = $(this).attr('id'); 

    alert("urlid "+urlid+" urlname "+urlname+" urllink "+urllink); 

} 

Существуют ли другие события, кроме out и drop, чтобы получить правильную информацию о вложенных элементах для перетаскиваемых и сбрасываемых элементов div? Есть ли другая функция, кроме .children, чтобы получить вложенные элементы для перетаскиваемого и сбрасываемого div?

...