大佬教程收集整理的这篇文章主要介绍了如何使用.on()绑定jQuery UI自动完成?,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
以下是以前回答过的地方:
Bind jQuery UI autocomplete using .live()
任何人都知道如何用on()来做同样的事情?
如果您将语法更改为类似的语法
$(document).on("keydown.autocomplete",[SELEctor],function(){...});
从
$([SELEctor]).live("keydown.autocomplete",function(){...});
它的作品@R_489_10955@,但是它与内部的自动完成事件以奇怪的方式相互作用.使用live(),如果使用SELEct事件并访问event.target,它将为您提供输入元素的ID.如果您使用on(),它将为您提供“ui-active-menuitem”下拉菜单的ID.这样的事情
$( ".SELEctor" ).autocomplete({ SELEct: function(event,ui) { console.log(event.target.id); } });
但是 – 如果您使用“开放”事件,它将给您我正在寻找的ID – 只是在正确的时间(选择之后需要它).在这一点上,我正在使用解决方法来获取open事件函数中的input元素的ID,将其存储在隐藏的字段中,然后在需要它的SELEct方法中访问它.
$(document).on("focus",function(E) { if ( !$(this).data("autocomplete") ) { // If the autocomplete wasn't called yet: $(this).autocomplete({ // call it source:['abc','ade','afg'] // passing some parameters }); } });
工作示例在jsFiddle.我使用焦点而不是键控,因为我需要重新触发事件,我不知道如何使用键/鼠标事件.
更新:您还可以考虑使用clone
,如果您的其他输入将具有与现有输入相同的自动完成功能:
var count = 0; $(cloneButton).click(function() { var newid = "cloned_" + (count++); // Generates a unique id var clone = $(sourcE) // the input with autocomplete your want to clone .clone() .attr("id",newid) // Must give a new id with clone .val("") // Clear the value (optional) .appendTo(target); });
请参阅updated fiddle.还有jQuery模板插件,可能会使这个解决方案更容易(尽管我还没有使用过,所以我不能从经验谈话).
以上是大佬教程为你收集整理的如何使用.on()绑定jQuery UI自动完成?全部内容,希望文章能够帮你解决如何使用.on()绑定jQuery UI自动完成?所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。