我正在定制一个wordpress主题,为什么我在尝试输入搜索框的输入字段时出现此错误,我的HTML代码是
<div class="mysearchdiv">
<input type="" name="" class="mysearch">
<ul class="skills-list" id="skills_list"></ul>
</div>
和backbone.js代码是
jQuery(document).ready(function(){
var mymodel= Backbone.Model.extend({
defaults:function(){
return{
name:''
}
}
});
var mycollection=Backbone.Collection.extend({
model:mymodel
});
var mynewcollection= new mycollection();
var myview=Backbone.View.extend({
model:mynewcollection,
el:'.mysearchdiv',
events:{
'keypress .mysearch':'search'
},
initialize:function(){
console.log("init");
var view=this;
this.skill_list=this.$('ul.skill-list');
view.skills={};
this.$el.find('input.mysearch').typeahead({
minLength:0,
items:10,
source: function(query, process) {
console.log("Skill_Control typeahead source");
console.log(query);
console.log(process);
console.log(ae_globals.ajaxURL);
if (view.skills.length > 0) return view.skills;
//getting error at this point
//where ae_globals.ajaxURL is ajax url in wp
return $.getJSON(ae_globals.ajaxURL, {
action: 'fre_get_user_skills',
query: query
}, function(data) {
view.skills = data;
return process(data);
}
);
},
updater:function(item){
console.log("updater");
}
});
},
search:function(){
console.log("search");
}
});
new myview;
console.log("starting");
});
同样类型的代码在我的其他主题中起作用,但现在我完全陷入困境。任何帮助将是欣赏。提前致谢。
答案 0 :(得分:2)
这是WordPress环境的常见问题。 $
不在全球范围内。要么:
jQuery(document).ready(function ($) {
或使用:
jQuery.getJSON(...