XUL:获取目标ID

时间:2011-06-03 15:49:52

标签: javascript firefox firefox-addon xul

以下代码用于应该获取源项目和目标项目ID的列表框项目。它适用于获取源并将其存储在data变量中。但是,data2仅在目标列表项为空时才检索ID。如果目标有文本则不起作用。

如何获取列表项的ID而不是列表项中的标记?

感谢。

drop: function(event){

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

2 个答案:

答案 0 :(得分:1)

就个人而言,我会使用属性parentNode并继续在层次结构中上升,直到找到类型列表项的内容。

答案 1 :(得分:1)

tomdemuyt是正确的 - 事件目标可能不是列表项,而是它的一个子元素(鼠标碰巧悬停的元素)。典型的方法是:

var targetItem = event.target;
while (targetItem && targetItem.localName != "listitem")
    targetItem = targetItem.parentNode;
var data2 = targetItem.id;