传递给回调函数的“ui”对象的jQuery UI对象类型?

时间:2010-01-08 12:28:18

标签: javascript jquery jquery-ui

在jQuery UI中,传递给很多事件方法的回调函数的“ui”对象的类型/内容是什么,我该如何使用它?

例如,“selectable”演示,事件“selected”通过了两个参数。 “事件”和“UI”。我试着按如下方式使用它:

    $("#selectable").selectable({ 
      selected: function(event, ui) { 
        $(ui).find("input").attr('checked', true); 
      } 
    });

(这是html:)

<ol id="selectable"> 
    <li class="ui-state-default"><input type="checkbox" value="1" /></li> 
    <li class="ui-state-default"><input type="checkbox" value="2" /></li> 
    <li class="ui-state-default"><input type="checkbox" value="3" /></li> 
    <li class="ui-state-default"><input type="checkbox" value="4" /></li> 
    <li class="ui-state-default"><input type="checkbox" value="5" /></li> 
    <li class="ui-state-default"><input type="checkbox" value="6" /></li> 
    <li class="ui-state-default"><input type="checkbox" value="7" /></li> 
    <li class="ui-state-default"><input type="checkbox" value="8" /></li> 
    <li class="ui-state-default"><input type="checkbox" value="9" /></li> 
    <li class="ui-state-default"><input type="checkbox" value="10" /></li> 
    <li class="ui-state-default"><input type="checkbox" value="11" /></li> 
    <li class="ui-state-default"><input type="checkbox" value="12" /></li> 
</ol> 

但它不起作用。我究竟做错了什么?我假设ui param设置为一个表示所选“li”的对象,但是当我尝试使用它时,它似乎并非如此......

Exampleedit example

1 个答案:

答案 0 :(得分:13)

根据我的理解,(这只是通过观察和我不可思议的力量::咳嗽,咳嗽::推断)ui是在用户界面中被作用的元素的对象或集合。要访问它们,您需要选择要使用的那个,而不是选择整个对象。例如。在droppable中,它是ui.draggableui.droppable。在您的示例中,ui.selected是可行的。

$("#selectable").selectable({
    selected: function(event, ui) {
       $(ui.selected).find("input").attr('checked', true);
    }
});

希望能回答你的问题。