$("selector").autocomplete({ ... }).data( "autocomplete" )._renderItem = function( ul, item ) {
return $( "<li></li>" )
.data( "item.autocomplete", item )
.append( "<a>" + item.label + "<br>" + item.desc + "</a>" )
.appendTo( ul );
};
这一点做什么.data( "autocomplete" )
我虽然使用数据将键值对作为data-foo
属性的一部分附加到dom元素。但这似乎不是这样的情况吗?
答案 0 :(得分:2)
.data(name, value)
是设置者:它将value
附加到name
键.data(name)
是getter:它返回附加到name
键的值在这种情况下,值是一个对象(存储有关绑定到节点的自动完成实例的数据),并且此对象已就地修改。
jQuery库中的一个常见模式是让函数根据其参数触发不同的操作:
$(selector).click(myFunction)
将处理程序绑定到节点,$(selector).click()
触发click
事件$sel.widget('option', name, value)
通常允许您在创建窗口小部件后更改选项,$sel.widget('option', name )
将允许您获取值