【发布时间】:2014-04-21 16:27:02
【问题描述】:
以下是我的 jquery 代码,我可以通过 jquery 对象访问 gallery-folder 属性,但 droppable 无法处理它
$(function() {
jQuery(document).find('#am-container').find('img').draggable({revert: true});
jQuery(document).find("#gallary-folder").droppable({
drop: function(event, ui) {
var draggableSrc = ui.draggable.attr("src");
var gallery_id = $(this).find('li').attr("id");
}
});
});
以下是我的 HTML
<div id="gallery-folder" class="gallery-folder ui-droppable">
<div class="gallery-folder-inner">
<a href="gallery_view.php?id=22&gallery_name=Clothes123">
<img width="68" height="48" src="images/icon-2.png"> </a>
</div>
</div>
【问题讨论】:
-
您使用
jQuery(document).find('#ele')而不是$('#ele')的任何原因? -
@Wex:我认为他们是一样的,这就是我坚持老派的原因
-
你的小提琴有
revert: "true"应该在哪里(正如你在问题中写的那样)revert: true(true周围没有引号)。然后,只要把saveImageAfterDrag这个没有定义的调用注释掉,抛出一个错误,我看不出是什么问题。 -
@noobie-php 只是 $('#ele') 是少了一个函数调用,因此速度更快 - 即使稍微如此。运行 $(document) 从 DOM 元素 'document' 及其所有子元素创建一个 jQuery 对象,而 $('#ele') 为 ID 为 'ele' 的 DOM 元素及其所有子元素创建一个 jQuery 对象。您的方式(根据我的理解,如果我错了,任何人都可以纠正我)更长,因为 find() 函数必须遍历 $(document) 中的所有对象,直到找到“ele”。我认为您与 document.getElementById('ele') 混淆了
标签: jquery jquery-ui jquery-ui-droppable