我正在使用twitter的bloodhound建议引擎,下面是我正在使用的代码片段
// instantiate the bloodhound suggestion engine
var searchData = new Bloodhound({
datumTokenizer: function (d) {
return Bloodhound.tokenizers.whitespace(d.value);
},
queryTokenizer: Bloodhound.tokenizers.whitespace,
remote: {
url: 'http://localhost/address/fetch?q=%Query' //Local URL
}
});
// initialize the bloodhound suggestion engine
searchData.initialize();
// instantiate the typeahead UI
$('.typeahead').typeahead({
hint:false,
highlight: true,
minLength: 3
}, {
name:'search-data',
displayKey: 'title',
source: searchData.ttAdapter(),
templates: {
suggestion: Handlebars.compile('<p><strong>{{title}}</strong></p>')
}
});
Ajax请求并没有激发我在上面代码片段中提到的内容,若页面中并没有包含jQueryValidation插件,那个么它就可以正常工作。
如何克服这个问题?
Upadate:
我已经将jQuery验证插件从1.7升级到了最新版本(1.12),然后它解决了这个问题,但我不知道这背后的原因是什么。如果有人知道确切的原因,请公布答案。
刚刚在js脚本顶部发布了他的代码
jQuery.noConflict( true )
//or
$.noConflict( true )