如何解决jQuery-dragarrange中的jQuery Dragend事件
我在这个图书馆中使用: https://github.com/vishalok12/jquery-dragarrange
完成项目拖动后,我需要运行一个函数。
<div id="elements-container">
<div class="draggable-element d-1">Drag 1</div>
<div class="draggable-element d-2">Drag 2</div>
<div class="draggable-element d-3">Drag 3</div>
<div class="draggable-element d-4">Drag 4</div>
</div>
$(function () {
$('.draggable-element').arrangeable();
});
function dragEnd(){
alert('Drag End');
}
解决方法
在代码中,选项中有一个dragEndEvent
属性。
尝试一下:
$(function () {
$('.draggable-element').arrangeable({
dragEndEvent: function(){
alert('Drag End');
}
});
});
那是对您正在使用的库的代码进行的快速扫描,未经测试,但是请告诉我它是否有效!
更新-刚刚在GitHub上的“可选参数”下看到了这一部分。我认为,dragEndEvent实际上不是回调,而是命名事件。换句话说,它在拖动端按名称触发此事件。默认值为drag.end.arrangeable
。
尝试以下方法:
$(function () {
$('.draggable-element').arrangeable({
dragEndEvent: "dragend"
});
$('.draggable-element').on("dragend",function(){
alert("Drag End");
});
});
或仅使用默认值,请使用:
$(function () {
$('.draggable-element').arrangeable();
$('.draggable-element').on("drag.end.arrangeable",function(){
alert("Drag End");
});
});
编辑两个数字!
对不起,这是发布答案而没有机会测试代码时发生的事情!
drag.end.arrangeable
事件是在父级元素而不是可拖动元素上触发的! (我不确定开发者为什么这样做吗?)
$(dragElement).parent().trigger(dragEndEvent,[$(dragElement)]); <<< see - .parent()
所以代码是:
$(function(){ $('。draggable-element')。arrangeable(); $('#elements-container')。on(“ drag.end.arrangeable”,function(){ alert(“拖动结束”); }); });
您还应该能够将第二部分写为
$('.draggable-element').parent().on("drag.end.arrangeable",function(){
alert("Drag End");
});
但是我不确定这是否会创建多个绑定。由于某种原因,我今天在互联网上遇到了很大的麻烦,而测试却完全失败了。我做了这个JsFiddle测试:https://jsfiddle.net/jhartnoll/0ys9gbt6/,但是由于互联网的原因,它无法正确加载我的终端,但是请尝试!
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。