对可拖动项目应用双击

2023-11-29

我有一个黄色按钮,可以将其拖放到灰色面板上。我使用“handleDragStop”函数来处理用户拖放黄色按钮时需要完成的所有任务。一切都很好。但是,我想知道如何启用用户双击黄色按钮的行为并具有与拖放时相同的行为?

$(".top-icon").draggable({
        connectToSortable: '#content',
        helper: myHelper,
        stop: handleDragStop
});

function handleDragStop(event, ui) {
        var current_text = '<div class="color-box"><b>Yellow Box ' + i + '</b>' + '<div class="yellow-content">' + '<div class="item">Item 1</div>' + '<div class="item">Item 2</div>' + '<div class="item">Item 3</div>' + '<div class="add-item">Add New Item</div>' + '</div>' + '</div>';
        $('#content .top-icon').after(current_text);

        i++;

        var $new_insert_item = $('#content .top-icon').next();
        $('#content .top-icon').remove(); // remove the clone .top-icon inside #content

        console.log('hi');
        // when click on Add New Item button
}
// end of handleDragStop

我可以在调用draggable后应用dblclick事件,如下所示:

$(".top-icon").draggable({
        connectToSortable: '#content',
        helper: myHelper,
        stop: handleDragStop
})
.dblclick(function() {

    alert('hi');
    // Do the same tasks as handleDragStop....

});

但是,我想知道是否有一种方法可以为draggable和dblclick共享handleDragStop的功能,这样我就不需要为draggable维护一个函数handleDragStop,并为dblcclick维护另一个与handleDragStop类似的函数?感谢您的帮助。

这里是jsfiddle


您的handleDragStop() 函数应该在两个事件处理程序中都能正常工作。其中唯一特定于可拖动的代码是$('#content .top-icon').after(current_text);和 CMIIW 但我不明白为什么你不能这样做$('#content').append(current_text);同样,这在两种情况下都适用。尝试这个:http://jsfiddle.net/tonicboy/Tt7Fb/

JS:

$(function () {

    $('#content').sortable({
        placeholder: 'ui-state-highlight'
    });


    $(".top-icon").draggable({
        connectToSortable: '#content',
        helper: myHelper,
        stop: handleDragStop
    }).dblclick(function(e) {

    handleDragStop(e);

});;


    function myHelper(event) {
        return $(this).clone();
    }

    var i = 1;

    function handleDragStop(event, ui) {
        debugger;

        var current_text = '<div class="color-box"><b>Yellow Box ' + i + '</b>' + '<div class="yellow-content">' + '<div class="item">Item 1</div>' + '<div class="item">Item 2</div>' + '<div class="item">Item 3</div>' + '<div class="add-item">Add New Item</div>' + '</div>' + '</div>';
        $('#content').append(current_text);

        i++;

        var $new_insert_item = $('#content .top-icon').next();
        $('#content .top-icon').remove(); // remove the clone .top-icon inside #content

        console.log('hi');
        // when click on Add New Item button



    }
    // end of handleDragStop


    $('#content').on('click', '.add-item', function () {

        var $this = $(this);
        var item_count = $this.siblings('.item').length + 1;
        console.log(item_count);

        var str_item = '';
        str_item = '<div class="item">Item ' + item_count + '</div>';

        $(str_item).insertBefore($this);


    });
});
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

对可拖动项目应用双击 的相关文章

  • IE 中的 jQuery 鼠标闪烁

    当我在 IE 中执行 fadeIn fadeOut slideUp slideDown toggle 等 jQuery 函数时 鼠标总是闪烁 沙漏在光标旁边的视图中快速闪烁 我尝试了不同的方法来在动画进行时完全隐藏鼠标 但没有效果 而且在大
  • ajax调用后如何停止刷新页面?

    ajax 调用后我无法停止刷新页面 我尝试过放置 e preventDefault 并返回 false 但我的页面又刷新了 我不知道代码有什么问题或者什么 请帮助我在ajax调用后停止刷新页面 解决这个问题对我来说会有很大的帮助 提前致谢
  • 如何在不接受焦点的元素上捕获键盘事件?

    我知道要处理输入字段中的键盘事件 您可以使用 input keyup function e var code e keyCode and 13 is the keyCode for Enter 但是 现在 我有一些div and li元素
  • 由于 javascript jQuery 创建的容器 CSS,iScroll 4 停止工作

    我在 DIV 内运行 iScroll 4 但 DIV 的高度是动态生成的 并且搞砸了 iScroll
  • 我如何知道用户是否单击了“后退”按钮?

    我正在使用锚点来处理 ajaxy 网站的唯一 url 但是 我想在用户点击浏览器的 后退 按钮时重新加载内容 以便内容始终与网址匹配 我怎样才能实现这个目标 当用户单击 后退 时是否会触发 jQuery 事件 您需要使用 hashchang
  • jQuery 绑定效率

    我在数千个元素和输入上使用多个 jQuery 绑定时遇到加载速度问题 是否有更有效的方法来执行此操作 该网站能够通过ajax调用在产品列表之间切换 页面无法刷新 有些列表有 10 个项目 有些有 100 个 有些超过 2000 个 当我开始
  • 如何使用多个 select2 框过滤表格?

    我正在尝试使用 和多个 select2 框的类来过滤表格 表格 HTML table class table tbody tr class kanban event Austin td td tr tr class csm event Ch
  • 使用 Ajax Jquery post 请求进行 Json 劫持

    昨天 我读了一些关于如何预防的好文章使用 Asp Net MVC 进行 Json 劫持 http haacked com archive 2009 06 24 json hijacking aspx 规则是 永远不要通过 get 请求发送
  • 重新加载页面时删除哈希值?

    我使用哈希来切换我的图像滑块 当我重新加载页面并且哈希值设置为 e h 3 没有图片 当图库在几秒钟后自动滑动时 它显示下一个 所以几秒钟内什么也没有 有没有办法在加载页面时检查哈希并将其删除 我只想关心那些用散列为页面添加书签的人 问候
  • 在节点环境中存根 jQuery.ajax (jQuery 2.x)

    我正在尝试运行一些需要存根的测试jQuery ajax 我正在使用 SinonJS 来做到这一点 它曾经与旧版本的 jQuery 1 x 一起工作得很好 var require jquery var sinon require sinon
  • 有没有办法动态更改 jqGrid 的单元格值?

    这个问题可能已经被问过很多次了 但我想知道是否可以动态更改 jqgrid 的单元格值 我基本上有一个网格 它通过 JSON 字符串加载数据 在特定列的某些行上 该值可能为 null 因此 预先知道哪个行 ID 是一个问题 然后能够将 nul
  • Django Ajax ModelForm 向 request.POST 提交一个空表单

    对于 django ajax 和 jquery 我是个新手 所以如果我的问题显得微不足道 我提前道歉 我已经在这个问题上摸不着头脑有一段时间了 但我正在尝试使用 ajax 和 jquery 通过 jQuery UI 提供的模式对话框窗口提交
  • 如何使用 jQuery 选择第一个块级父级?

    考虑以下标记 div h1 span span lorem ipsum span span h1 div 如何找到块级别的 span 3 的第一个父级 即具有display block 使用 jQuery 在这种情况下 那就是h1 1 3
  • Twitter Typeahead 上使用 Bootstrap 3 的 CSS 问题

    随着 Bootstrap 3 的发布 Typeahead 已被删除 取而代之的是 https github com twitter typeahead js https github com twitter typeahead js 我已经
  • 使用 float:left 与 display:inline-block 的 jQuery UI 拖放排序比较

    我这里有两个例子 这两个例子之间的唯一区别是 一种使用display inline block 另一种使用float left li doc item 显示 内联块 与 li doc item float left 我的问题是 displa
  • 返回视图作为 JSON 对象的一部分

    我有一个应用程序只加载一次完整视图 我这样做的原因并不重要 重要的是 其余内容只会以部分视图的形式返回 除了一些内容之外 我还有一些 JSON 对象 我想通过每个 AJAX 请求在服务器之间来回传递 有没有办法返回一个 JSON 对象 并将
  • 如何从 html 页面 [javascript] 调用 Web 服务方法而不刷新页面

    我有一个webservice这将返回一个值 我的要求是 我需要调用它webservice从一个index html页面 该页面有一个 html 提交按钮 在该按钮上单击我正在呼叫JavaScript 从那里我想调用网络方法 我怎样才能做到这
  • 轮播滑动(未滑动)事件上的火灾事件,Bootstrap 3

    Bootstrap 2 似乎可以很好地处理幻灯片事件 请参阅这个问题 https stackoverflow com questions 9651466 how to attach slide slid events to the boot
  • 从更多元素中仅获取唯一名称

    我动态渲染了 HTML 其中列出了未确定数量的单选按钮 这些按钮的名称代表数据库中的某些 id 我需要收集收音机的所有唯一名称 这是一个例子
  • 从 jQuery UI 对话框调用 Bootstrap 模式:超出最大调用堆栈大小

    我有一个有点奇怪的问题 我正在调用 Bootstrap Modal 同时打开了 jQuery UI 对话框并且正在获取RangeError Maximum call stack size exceeded 在控制台中 奇怪的是 只有当我在打

随机推荐

  • 在 Box Android API 中加载、保存和使用身份验证数据

    我最近一直在尝试在我的 Android 应用程序中实现 Box 我知道如何启动身份验证活动并让 BoxAndroidClient 对象准备好对其进行操作 但我不知道如何保存令牌 SharedPreferences 加载它们 然后使用加载的令
  • 使用元数据为超级列创建 Cassandra 架构

    我希望使用 cassandra cli 在我的数据库中具有以下结构 例如 我有一个人有地址 该地址包含邮政编码 门牌号等 原理图看起来像这样 name address value city name city value San Franc
  • 如何在 JavaScript 中对 1970 年以下的日期进行排序?

    所以我正在对日期进行排序 有一个日期1967 08 07 正确的做法是什么 unix时间戳是负数 我还没有找到任何在JS中如何做的线索 The ISO 8601 1967 08 07 结构很容易作为字符串排序 因为它的第一部分是年份 后面是
  • 当我使用 TRANSPOSE 将数组粘贴到工作表中时,为什么我的数组会破坏列?

    在 Excel 中 我使用 VBA 创建一个数组来收集数据 然后将其粘贴回工作表中 这在较小的数据集 约 15 000 行 上运行良好 但当我移动到较大的数据集 约 117 000 行 时 转置 步骤中发生了一些情况 在数组中 我想将标题和
  • java与c中的三元运算符[重复]

    这个问题在这里已经有答案了 为什么这个三元运算符在这里不起作用 但在 c 中却可以完美地工作 import java util Scanner class Pack public static void main String args S
  • 将 RecyclerView 单击的项目移动到顶部

    我有一个包含 n 个项目的 recyclerView 每个项目都可以在单击时展开 我希望我的项目能够展开并在单击时移动到顶部 假设如果我单击第三个项目 那么它应该移动到第一个项目位置 然后它将展开并且滚动应该停止 我已经设法用动画扩展 Re
  • 返回数组元素时,非常量引用的初始化无效

    我正在编写一个包装动态分配数组的类 并且正在尝试编写operator 函数 目前我有 bool solution operator unsigned int pos if pos lt size return this gt data po
  • 在 iPhone 上获取 DNS 服务器 IP

    我正在尝试使用以下命令获取我的 dns 服务器 IPlibresolv框架 但我得到的只是 0 0 0 0 void getDns res init for int i 0 i
  • 最小化单应性矩阵的误差

    我有一个单应性矩阵 h1 h2 h3 h4 h5 h6 h7 h8 h9 我改变了一个点p1 to P1使用上面的单应性矩阵 相似地 p2 to P2 p3 to P3 p4 to P4 我知道之间的区别 P1 P2 D1 P2 P3 D2
  • Shell 脚本删除数字字符串后的新行

    我需要编写一个 SHELL 脚本来仅在数字字符串之后删除新行 或者字符串不以数字开头 例如有一个文件 asasas 12345 adab 123 123 我需要这样的输出 asasas 12345 adab 123 123 sed a N
  • simplexml_load_file 和 simplexml_load_string 之间的区别

    我想将 xml 文件放入我的程序中并将其放入数组中 以便我可以将其放入表中 我想知道如何做到这一点 并且我已经阅读了 php 手册 但我似乎无法掌握它 为了做我想做的事 我需要使用simplexml load string 或者我需要命令他
  • Apache SetEnvIf 麻烦

    我的中有以下内容 htaccess file SetEnvIf Host example com myvar 1
  • 如何使用 XML::LibXML 解析 XML 文档并构建 Perl 哈希

    我有这样的 XML 数据
  • 如何用Flutter实现position:sticky和bottom 0?

    我想建立一个带有粘性页脚的列表视图 例如本文的 粘到底 在颤振中 In CSS main footer position sticky bottom 0 但是 Flutter 该怎么办呢 我想要的是 可滚动的大内容 页脚 粘性 可滚动的大内
  • JavaScript 闭包和 setTimeout

    闭包是我在 JS 中还没有完全掌握的东西 我认为这是一个封闭问题 我正在尝试创建一个进度条 每隔 x 秒我想增加 DIV 的宽度 这是应该执行此操作的部分 for i 0 i lt counter i setTimeout function
  • System.Drawing.Graphics.DpiX 始终返回 96

    我有 vb net winform 应用程序 自动缩放模式 dpi 自动缩放 假 自动调整大小 true 更改 DPI 设置后我已退出 我也尝试过重新启动机器 Using g As Graphics form CreateGraphics
  • 如何将我的代码从 v11 迁移到 Discord.js v12?

    我升级到 Discord js v12 但它破坏了我现有的 v11 代码 以下是导致错误的一些示例 TypeError client users get is not a function const user client users g
  • Android 中用颜色填充 ArrayList

    我想创建2个ArrayList 一种持有 16 种颜色 另一种持有 139 种颜色 我有颜色列表 RGB 为 255 126 32 十六进制为 0xFFFF2552 我想使用 ArrayList 稍后从中选择随机颜色 我试过 int 但不起
  • 在通过管道将 STDOUT 传输到文件时捕获 STDERR 的输出

    我的情况很奇怪 我正在尝试使用 Perl 自动备份 SVN 存储库集合 我正在使用 svnadmin dump 命令 该命令将转储发送到 STDOUT 并将遇到的任何错误发送到 STDERR 我需要运行的命令的形式为 svnadmin du
  • 对可拖动项目应用双击

    我有一个黄色按钮 可以将其拖放到灰色面板上 我使用 handleDragStop 函数来处理用户拖放黄色按钮时需要完成的所有任务 一切都很好 但是 我想知道如何启用用户双击黄色按钮的行为并具有与拖放时相同的行为 top icon dragg