Перетащите в текстовое поле - PullRequest
0 голосов
/ 13 ноября 2011

У меня есть список людей в левой части страницы, этот список заполнен PHP.

Каждый человек находится в своем собственном div (это можно изменить, но я подумал, что с div можно работать легче). Я хочу иметь возможность перетаскивать любого из этих людей в текстовое поле, таким образом вводя их имя в это текстовое поле.

Также, чтобы сделать его более неловким, я не хочу использовать jQuery или прототип. Или любой другой на самом деле.

Edit:
Извините, позвольте мне перефразировать вопрос ...
Как бы я проверил, не было ли что-то перетащено поверх текстового поля? И как я могу получить идентификатор этого элемента?

Чего я не знаю, так это как проверить, было ли что-то перетащено поверх текстового поля (поле ввода, а не текстовая область, но это не большая проблема).
Я знаю, что никогда не будет волшебного парама, подобного onDragOnto="", но, надеюсь, это покажет вам, что я имею в виду

1 Ответ

1 голос
/ 13 ноября 2011

Без более подробной информации, я не могу дать лучший ответ.

Как насчет щелчка внутри элемента DIV, в результате которого вызывается событие Javascript, которое вызывает выбор текста элемента?Затем вы можете перетащить этот текст в многострочное текстовое поле.

Теперь, с информацией из редактирования:

Вы регистрируете событие onmousedown с каждым вашим DIV.

На имена:

<div onmousedown="onMouseDown(event);" onmouseup="onMouseUp(event);">Jane</div>

На текстовое поле / текстовое поле:

<textarea onmouseover="return onMouseOver(event);"></textarea>

И скрипт:

<script>

function onMouseOver(evt) {
    target = document.lastClicked;
    if (target != null) {
        window.alert(target.id);
    }
}

function onMouseDown(evt) {
    document.lastClicked = window.event.target;
}

function onMouseUp(evt) {
    document.lastClicked = null;
}

</script>

Это очень грубый способделать вещи, но я надеюсь, что это дает вам принципы, которые вы ищете.Если вы хотите заставить элементы перемещаться, а не просто перетаскивать текст, то все становится более пугающим.Чтобы справиться с этим, вам нужно использовать CSS и изменить координаты.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...