$("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")
我虽然数据被用来将键值对附加到 dom 元素作为 data-foo
属性的一部分。但这里似乎并非如此?
最佳答案
根据 documentation :
.data(name, value)
是 setter:它将value
附加到name
键.data(name)
是 getter:它返回附加到name
键的值
在这种情况下,该值是一个对象(它存储有关绑定(bind)到节点的自动完成实例的数据),并且该对象已就地修改。
让一个函数根据其参数触发不同的 Action 是 jQuery 库中的常见模式:
$(selector).click(myFunction)
将处理程序绑定(bind)到节点,$(selector).click()
触发点击
事件- 在 jquery-ui 中,
$sel.widget('option', name, value)
通常允许您在创建小部件后更改选项,$sel.widget ('option', name )
将允许您获取值 - 等...
关于javascript - 猴子修补一个 jquery ui 自动完成渲染项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13288135/