我正在开发一个jquery插件,并通过HTML5拖动属性添加了一些拖放功能。除了一个警告,将功能名称分配给它们的目标之外,一切都工作正常。
这些功能在我正在编写的插件中,但是我不确定如何在不指定jquery对象本身的情况下如何从元素的属性调用这些功能。
例如,假设我是这样使用我的插件的:
ztable = $('#mytable').ZTable();
然后在插件代码本身中,我将拥有:
myElement.attr('ondrop', 'ztable.zdrop(event)');
指定变量名是获取函数功能的唯一方法,显然这不是可行的解决方案。
我决定将HTML5属性用于拖动事件,因为它在那里并且可以流畅地工作。我不想依靠jquery用户界面为此插件添加拖动。有什么办法可以解决这个问题,或者有一种更好的解决方案不依赖其他第三方库?
答案 0 :(得分:0)
考虑一下:
$(myElement).on('ondrop', function(event){
ztable.zdrop(event);
});
这假设您的插件公开了zdrop()
。
但是实际上,在您的插件代码中,我不确定为什么它不像这样:
this.element.on("ondrop", this.zdrop);
如果您想提供a Minimal, Reproducible Example,可以提供更好的帮助。
答案 1 :(得分:0)
根据Twisty的评论,我正在考虑解决该问题,并指出了一个适当的解决方案。我只需要在函数中进行一些更改,因为事件结构有些不同,但是现在一切都很好。