没有jqueryui拖放?
drag and drop without jqueryui?
我正在开发一个 jquery 插件,并通过 HTML5 拖动属性添加了一些拖放功能。一切正常,除了一个警告,将函数名称分配给它们的目标。
这些函数在我正在编写的插件中,但我不确定如何在不指定 jquery 对象本身的情况下从元素的属性中调用这些函数。
例如,假设我这样使用我的插件:
ztable = $('#mytable').ZTable();
然后在插件代码本身,我会:
myElement.attr('ondrop', 'ztable.zdrop(event)');
指定变量名是我让它看到函数的唯一方法,显然这不是一个可行的解决方案。
我决定对拖动事件使用 HTML5 属性,因为它就在那里并且工作顺利。我不想依赖 jquery UI 为这个插件添加拖动。有没有解决这个问题的方法或不依赖于额外的第 3 方库的更好的解决方案?
考虑一下:
$(myElement).on('ondrop', function(event){
ztable.zdrop(event);
});
这假设您的插件公开了 zdrop()
。
但实际上,在您的插件代码中,我不确定为什么它不像:
this.element.on("ondrop", this.zdrop);
我认为这个问题已经解决,根据 Twisty 的评论,我被指出了一个合适的解决方案。我只需要更改我的函数中的一些东西,因为事件结构有点不同,但现在一切都很好。
我正在开发一个 jquery 插件,并通过 HTML5 拖动属性添加了一些拖放功能。一切正常,除了一个警告,将函数名称分配给它们的目标。
这些函数在我正在编写的插件中,但我不确定如何在不指定 jquery 对象本身的情况下从元素的属性中调用这些函数。
例如,假设我这样使用我的插件:
ztable = $('#mytable').ZTable();
然后在插件代码本身,我会:
myElement.attr('ondrop', 'ztable.zdrop(event)');
指定变量名是我让它看到函数的唯一方法,显然这不是一个可行的解决方案。
我决定对拖动事件使用 HTML5 属性,因为它就在那里并且工作顺利。我不想依赖 jquery UI 为这个插件添加拖动。有没有解决这个问题的方法或不依赖于额外的第 3 方库的更好的解决方案?
考虑一下:
$(myElement).on('ondrop', function(event){
ztable.zdrop(event);
});
这假设您的插件公开了 zdrop()
。
但实际上,在您的插件代码中,我不确定为什么它不像:
this.element.on("ondrop", this.zdrop);
我认为这个问题已经解决,根据 Twisty 的评论,我被指出了一个合适的解决方案。我只需要更改我的函数中的一些东西,因为事件结构有点不同,但现在一切都很好。