【问题标题】:Removing an Image from Canvas on Double Click双击从画布中删除图像
【发布时间】:2014-07-30 06:03:26
【问题描述】:

我正在将图像从工具栏拖放到画布上,然后在画布中移动它。目前我可以从工具栏多次将单个图像加载到画布上,如下面的链接所示.

http://jsfiddle.net/gkefk/22/

我想添加当用户双击该特定图像时从画布中删除该图像的特定副本的功能。为此,我在双击时触发了一个 jQuery 事件。

$("#image").dblclick(function(){
layer.remove();
});

即使我双击图像的特定副本,该特定副本也不会从画布中删除。我不明白我做错了什么..请帮助

包含 jQuery 事件的小提琴链接

http://jsfiddle.net/gkefk/23/

【问题讨论】:

    标签: javascript jquery canvas drag-and-drop kineticjs


    【解决方案1】:

    更新了您的小提琴以使其正常工作:

    image.on('dblclick', function() {
        image.remove();
        layer.draw();
    });
    

    http://jsfiddle.net/gkefk/26/

    您必须为图像的每个副本添加一个事件处理程序,而不是信任 jQuery 来动态执行此操作。

    您的 jQuery 调用在文档加载时执行一次(同时不存在 id 为“image”的元素),之后没有任何效果。另请注意,在多个动态元素上使用静态 ID 并不是一个好主意,因为 ID 必须是唯一的。

    【讨论】:

    • 能否请您提供指向在多个动态元素上具有动态 id 的小提琴的链接??
    • 最简单的方法是在初始化时用imageCount = 0 分配一个像"image"+(imageCount++) 这样的ID。一般来说,我建议不要使用 ID,而是将对象的引用保存在数组中。
    • 如果可能的话,能否请您提供小提琴链接?
    • 你也可以看看这个吗? stackoverflow.com/questions/25052843/…
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-07-29
    • 2021-04-30
    • 2020-10-01
    • 1970-01-01
    • 2011-03-28
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多