Добрый день, написан небольшой Drag and Drop.
Смысл кода в следующем – перемещение контейнеров с классом DragCan из одной ячейки таблицы в другую.
Проблеме в следующем. Когда перемещаешь данный контейнер, и если курсор находиться в его пределах – я не могу определить место для вставки. Метод window.event. srcElement.tagName выдает название тэга Div. Т.е. моего контейнера, который мы перемещаем в данный момент.
Как мне узнать текущий тэг
под контейнером с классом DragCan?
В приложении файл в формате txt с кодом.
----
<html><head>
<script language="JavaScript">
flg = (document.all) ? 0 : 1;
var obj, objClone, TMPx, TMPy;
function mousedown(ev)
{
obj = event.srcElement;
/* выходим на тэг DIV (SPAN) с классом dragNdrop */
while(!(obj.getAttribute("className") == "dragCan") && obj)
obj = obj.parentElement;
}
function mousemove(ev)
{
if (obj)
{
/* Создаем возможность перемещения объекта */
obj.setAttribute ("className", "dragMove");
obj.style.pixelLeft = event.clientX + document.body.scrollLeft - 55;
obj.style.pixelTop = event.clientY + document.body.scrollTop - 20;
//????????????????????????????????????????7Вот
//сзесь - как мне определить имя тэга под перемещаемым контейнером DIV? \n Это можно закоментировать") == false)
document.all.DWsInputText.value = " Тэг для вставки " + document.activeElement.below;
return false;
}
}
function mouseup()
{
obj.setAttribute ("className", "dragCan");
switch ( event.srcElement.tagName )
{
case 'TD' : event.srcElement.appendChild(obj); break;
case 'DIV': event.srcElement.insertAdjacentElement ("beforeBegin", obj ); break;
default: alert ("Вставка произошла за пределы поля TD\nВозвращаем элемент на место!"); break;
}
obj = null;
}
if (flg)
{
document.captureEvents(Event.MOUSEDOWN | Event.MOUSEMOVE | Event.MOUSEUP);
}
document.onmousedown = mousedown; /* Пользователь начал перетаскивание */
document.onmousemove = mousemove;
document.onmouseup = mouseup; /* Пользователь заверши перетаскивание */
</script>
<style type="text/css">
/* Класс для объектов,
с которомы можно производить перенос */
.dragCan
{
position: static;
width: 150px;
background-color: #009966;
border: #000000 1px solid;
}
/* Класс клонированного объекта */
.dragMove
{
/* z-index: -1; */
cursor: move;
position: absolute;
width: 150px;
color: red;
background-color: #efefef;
border: #000000 1px dashed;
filter: alpha (opacity=50);
}
</style>
</HEAD>
<BODY>
Текущий тэг<input type="text" id="DWsInputText">
<hr>
<table border="4" align="center" height="300" width="1000">
<tr><td colspan="3"> <center><h2>В эту таблицу должна перенестись картинка!</h2></center> </td></tr>
<tr><td width="20%"><div class="dragCan" > <b>^. Новые средства безопасности и конфиденциальности позволяют сделать просмотр веб-страниц более безопасным.</b> </div>
<div class="dragCan"><b>4. Действия перья.</b> </div>
<div class="dragCan"><b>5. Информация была полезной?</b></div></td> <td width="60%"> -- <b>Привет, это тест</b> Без всего <i>Я наклонный текст</i> </td> <td width="20%">
<div class="dragCan"><b>1. Сведения, приведенные в этом разделе справки, относятся к Windows Internet Explorer 8.</b></div>
<div class="dragCan"><b>2. Сведения, приведенные в этом разделе справки, относятся к Windows Internet Explorer 8.</b></div>
<div class="dragCan"><b>3. Сведения, приведенные в этом разделе справки, относятся к Windows Internet Explorer 8.</b></div>
<!-- ‚ б«Ґ¤го饩 бва®зЄҐ Їа®ЇЁиЁвҐ ॠ«млҐ ЇгвЁ, Ј¤Ґ 室пвбп ў иЁ Є авЁЄЁ -->
<div class="dragCan" style="cursor: hand; border: #000000 3px solid;">
ильтрация InPrivate предотвращает предостав<br>
<img src="http://t3.gstatic.com/images?q=tbn:d3izzojwwt-PmM:http://www.memorial.ru/lists/irkutsk/aeroplans/il76.gif" name="a"><br>
Привет.
</div>
</td></tr>
</table>
<!-- ‚ б«Ґ¤го饩 бва®зЄҐ Їа®ЇЁиЁвҐ ॠ«млҐ ЇгвЁ, Ј¤Ґ 室пвбп ў иЁ Є авЁЄЁ -->
<div class="dragCan" style="cursor: hand; border: #000000 3px solid;">
<table border="1"><tr><td>
<img src="http://test1.ru/themes/classic/images/ico/delete.gif">
<img src="drop.gif" style="cursor: move;">
<img src="http://test1.ru/themes/classic/images/ico/edit.gif">
<img src="http://test1.ru/themes/classic/images/ico/delete.gif">
<br>
<img src="http://t3.gstatic.com/images?q=tbn:d3izzojwwt-PmM:http://www.memorial.ru/lists/irkutsk/aeroplans/il76.gif" name="a"><br>
Привет.
</td></tr></table></div>
<div class="dragCan">
<img src="drop.gif" style="cursor: move;"><br>
Привет.
</div>
<div class="dragCan">
<img src="drop.gif" style="cursor: move;"><br>
<img src="http://t3.gstatic.com/images?q=tbn:d3izzojwwt-PmM:http://www.memorial.ru/lists/irkutsk/aeroplans/il76.gif"><br>
</div>
<div class="dragCan">
<img src="http://t3.gstatic.com/images?q=tbn:d3izzojwwt-PmM:http://www.memorial.ru/lists/irkutsk/aeroplans/il76.gif"><br>
</div>
<div class="dragCan">
<img src="http://t3.gstatic.com/images?q=tbn:d3izzojwwt-PmM:http://www.memorial.ru/lists/irkutsk/aeroplans/il76.gif">
Режим просмотра InPrivate позволяет посещать веб-страницы без сохранения истории в Internet Explorer.
<table border="1"><tr><td>Тестовая таблица</td></tr></table>
Это помогает предотвращать получение посторонними пользователями компьютера информации о посещенных страницах и просмотренном содержимом. Дополнительные сведения см. в разделе Что такое просмотр InPrivate?
</div>
</body>
</html>