2

我正在阅读此代码(http://jqueryui.com/droppable/#photo-manager),但无法理解某一特定行

var $gallery = $( "#gallery" ),
    $trash = $( "#trash" ); 

$( "li", $gallery ).draggable({ //This is the line a I can't understand well
        cancel: "a.ui-icon", 
        revert: "invalid", 
        containment: "document",
        helper: "clone",
        cursor: "move"
});

为什么 $gallery 在那里?它没有使 $gallery 可拖动,只是<li>可拖动。

似乎只能拖动<li>内部#gallery,但这很容易完成$("#gallery li")or$("#gallery > li")

那么有什么不同呢?

4

2 回答 2

3

函数的第二个参数$()context. 它相当于:

$gallery.find('li');

是的,在这种情况下,您也可以这样做:$("#gallery li"),但是context当您只是传递一个 DOM 元素或 jQuery 对象并且不知道它的选择器时,该选项很好。

于 2012-11-20T03:57:46.747 回答
0

根据 jQuery 文档:“$("> elem", context)选择器将在未来的版本中被弃用。因此不鼓励使用它来代替使用替代选择器。”

当它被弃用时,他们可能会调整照片管理器中的代码。我看不出用法上有任何差异,它只是看起来“更少 jQuery”。

于 2012-11-20T04:07:10.567 回答