[英]How to get the class name of a dropped item with JavaScript?
我的容器很少,物品很少。 我想将项目拖到容器中并获取已删除项目的类名称。
获取类名非常容易.className
但不起作用
这是我正在使用的一些代码( places[i]
是循环的一部分,所以为了澄清,我没有包含整个代码):
places[i].addEventListener('drop', function(e){
console.log(this.childNodes[0].className );
});
这不起作用,错误是“无法读取属性'className'”。 我试过这个this.childNodes
,我得到:
[item: function]
0: div.coins.blue
....
className: "coins blue"
...
我确实尝试过this.childNodes['item']
记录的function item() { [native code] }
。 不知道从哪里开始
这是一个基本代码http://jsbin.com/wadavuci/1/edit?js,console,output
谢谢
使用拖放时,必须手动设置要在dragstart
事件中传输的数据。 使用事件的dataTransfer
对象的setData()
成员设置数据:
for (var i=0; i<coins.length; i++) {
coins[i].addEventListener('dragstart', function(e){
e.dataTransfer.setData("text/plain", this.className);
});
}
同样,您必须在drop
事件中读取传输的数据:
for (var i=0; i<places.length; i++) {
places[i].addEventListener('drop', function(e){
console.log(e.dataTransfer.getData("text/plain"));
});
/* ... */
};
http://www.html5rocks.com/上的Native HTML5 Drag and Drop文章提供了如何处理拖放的精彩步骤。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.