【问题标题】:Attempting to use JQuery to change an img src of draggable object when dropped尝试使用 JQuery 在拖放时更改可拖动对象的 img src
【发布时间】:2013-08-08 10:54:15
【问题描述】:

基本上,我有 .dragme(被拖动的对象)、.dropzone1(要放置的位置)和我希望 .dragme 放置后变成的图像。

到目前为止我有这个

$(".dropzone1").droppable({
    accept:".dragme",
    drop: function() {
        alert("DROPPED");
    }
});

因此,该代码有效,一旦将 .dragme 放置到位,我就会收到警报。但是我尝试使用 .attr 更改 .dragme 的图像源来代替警报当前的位置(如果我将它放入下面的代码中,警报也可以工作,但图像仍然没有改变):

$(".dropzone1").droppable({
    accept:".dragme",
    drop: function() {
        $(".dragme").attr("src", "../imgs/newimage.png");
    }
});

我查看了类似问题的其他答案,但没有一个解决方案有效,非常感谢任何帮助。

这有点jsfiddle,但我无法将我的图片放到上面,反正它们只有 30x30 png。我这样做是为了让警报正常工作,所以如果有人可以玩并得到它,以便红色块在落在蓝色时改变颜色或变成图像,那就太好了!

【问题讨论】:

  • 你会好心并创建一些 jsFiddle 吗?
  • 试试prop(),也许网址不正确?!
  • proper 也不起作用,而且 url 没问题,我正在使用 komodo 编辑,所以它会告诉我图片链接是否不起作用。

标签: javascript jquery image jquery-ui jquery-ui-draggable


【解决方案1】:

试试这个:

demo

    $(".dragme").draggable();

$(".dropzone1").droppable({
    accept:".dragme",
    drop: function( event, ui ) {
      $(".dragme").attr("src", "../imgs/newimage.png");
      alert($(".dragme").attr('src'));
    }
});

第二个解决方案

DEMO

$(".dragme").draggable();

$(".dropzone1").droppable({
    accept:".dragme",
    drop: function( event, ui ) {
      $(ui.draggable).attr("src", "../imgs/newimage.png");

    }
});

来自drop event documentation

This event is triggered when an accepted draggable is dropped 'over' (within the 
tolerance of) this droppable. In the callback, $(this) represents the droppable 
the draggable is dropped on. ui.draggable represents the draggable.

【讨论】:

  • 不幸的是仍然没有,我什至将警报放在您的 ui.item.attr 行之后,但也没有激活。
  • jsfiddle 添加到问题中
  • 谢谢,它们的工作原理与一个盒子移动并放入另一个盒子一样多,但是我希望可以拖动的盒子一旦放下就可以改变。 jsfiddle.net/QsjqP/127 你可以在那里看到虽然 src 属性应该改变,但它没有。 @sangram
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多