XUL: получение идентификатора цели - PullRequest
0 голосов
/ 03 июня 2011

Следующий код используется для элементов списка, которые должны получить идентификатор исходного и целевого элементов.Он работает для получения исходного кода и сохраняет его в переменной data.Но data2 извлекает идентификатор, только если целевой элемент списка пуст.Если у цели есть текст, это не работает.

Как получить идентификатор элемента списка, а не теги внутри элемента списка?

Спасибо.

drop: function(event){

    var data = event.dataTransfer.getData("text/plain");
    var data2 = event.target.id;
    alert("DROPPED: "+data+" "+data2);
    event.preventDefault();
}

Ответы [ 2 ]

1 голос
/ 06 июня 2011

tomdemuyt правильно - цель события, вероятно, не элемент списка, а один из его дочерних элементов (тот, который ваша мышь зависает). Типичный подход:

var targetItem = event.target;
while (targetItem && targetItem.localName != "listitem")
    targetItem = targetItem.parentNode;
var data2 = targetItem.id;
1 голос
/ 03 июня 2011

Лично я бы использовал свойство parentNode и продолжал подниматься в иерархии, пока не найду что-то типа элемента списка.

...