访问对象中的元素

时间:2013-06-25 22:14:40

标签: javascript jquery object

我无法访问对象中的某些元素。 在我的视图文件(又名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。我们在任何对象中说animateclick。我必须从DOM中获取它以将任何事件绑定到元素,例如$(".slide").animate

1 个答案:

答案 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}}