在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”的对象,但是当我尝试使用它时,它似乎并非如此......
答案 0 :(得分:13)
根据我的理解,(这只是通过观察和我不可思议的力量::咳嗽,咳嗽::推断)ui是在用户界面中被作用的元素的对象或集合。要访问它们,您需要选择要使用的那个,而不是选择整个对象。例如。在droppable中,它是ui.draggable
或ui.droppable
。在您的示例中,ui.selected
是可行的。
$("#selectable").selectable({
selected: function(event, ui) {
$(ui.selected).find("input").attr('checked', true);
}
});
希望能回答你的问题。