我无法访问对象中的某些元素。 在我的视图文件(又名HTML页面)中,我正在初始化c App。
//Yh script tags are wrapped around this
$(function() {
App.initialize();
});
然后在我的JS文件中(这是我实际工作的一种简单形式):
window.App = {
el: {
slider: $("#form-slider"),
allSlides: $(".slide")
},
initialize: function() {
this.ProductNewEvents();
//bla bla
// and so on
},
slideTiming: 800,
slideWidth: 790,
delegat etc
ProductNewEvents: function() {
//A whole bunch of events
this.el.slider.click(function() {
alert("Why you no work");
});
$("#form-slider").click(function() {
alert("Why you work");
});
},
some other objs
};
我的问题是我无法调用this.el.allSlides.some jQuery事件或this.el.slider
。我们在任何对象中说animate
或click
。我必须从DOM中获取它以将任何事件绑定到元素,例如$(".slide").animate
。
答案 0 :(得分:0)
这取决于你在做什么,因为我看不到你的所有代码。当您访问App.el.slider
媒体资源时,它会在创建$('#slider')
时保留对window.App = {
el: {
slider: function(){
$("#form-slider");
},
allSlides: function(){
$(".slide");
}
},
initialize: function() {
this.ProductNewEvents();
//bla bla
// and so on
},
slideTiming: 800,
slideWidth: 790,
//delegat etc
ProductNewEvents: function() {
//A whole bunch of events
},
//some other objs
}
App.el.slider();
的引用。要克服这个问题,您的代码可能需要看起来像:
{{1}}