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