Javascript addeventlistener删除错误“;未捕获类型错误:非法调用“;

Javascript addeventlistener删除错误“;未捕获类型错误:非法调用“;,javascript,callback,drag-and-drop,html5sortable,Javascript,Callback,Drag And Drop,Html5sortable,我通过函数创建新对象,并创建要使用的sortable方法,但在回调函数中有一个错误 ;“严格使用”; (功能(){ 函数libJS(){}; libJS.prototype={ loopElement:函数(元素、选项、回调){ var libObj=此; var goesCallback=函数(元素、选项、回调){ if(!!callback&&libObj.isFunction(callback))回调(元素、选项); }; if(libObj.isElement(element))goe

我通过函数创建新对象,并创建要使用的
sortable
方法,但在回调函数中有一个错误

;“严格使用”;
(功能(){
函数libJS(){};
libJS.prototype={
loopElement:函数(元素、选项、回调){
var libObj=此;
var goesCallback=函数(元素、选项、回调){
if(!!callback&&libObj.isFunction(callback))回调(元素、选项);
};
if(libObj.isElement(element))goescalback(element,options,callback);
else if(libObj.isString(元素)和&/^(\.\.\\\\\\\)[\w\d\-\\+$/g.test(元素)){
如果(/^\./g.test(元素)){
element=document.getElementsByClassName(element.replace('.','');
变量长度=element.length | | 0,i;
对于(i=0;i

试验
*{
框大小:边框框;
}
.分拣机{
边框:1px纯绿色;
填充:10px;
}
.分拣员:之后{
显示:块;
内容:'';
明确:两者皆有;
}
sorterItem先生{
显示:内联块;
浮动:左;
宽度:70px;
高度:70像素;
右边距:10px;
边缘底部:10px;
}
.m.img{
显示:块;
最大宽度:100%;
最大高度:100%;
最小宽度:100px;
最小高度:100px;
}

您不能执行
console.log(element.\uu proto\uu.ondrop)
,因为ondrop是一个访问器属性

访问器属性?关于此

访问器属性是根据getter和setter定义的属性,而不是可能写入的存储值。“访问器函数对”表示getter和setter函数

也看到

因此,基本上通过调用
console.log(element.\uuu proto\uuuu.ondrop)
调用元素的
ondrop
getter函数时没有正确的操作,这会导致错误

代码示例
一个javascript代码示例来说明这一点

var-Person={
名字:“约翰”,
姓:“Doe”,
获取全名(){
返回this.firstname+“”+this.lastname
},
设置全名(名称){
this.firstname=name.split(“”)[0]
this.lastname=name.split(“”)[1]
}
}
console.log(Person.fullname)//将触发getter函数“fullname”
Person.fullname=“Jane Doe”//将触发setter函数“fullname”
控制台日志(每
console.log(element.__proto__.ondrop)