3

オブジェクト内の一部の要素にアクセスできません。ここでビュー ファイル (別名 HTML ページ) で、c アプリを初期化しています。

  //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

4

1 に答える 1

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();
于 2013-06-25T22:36:15.793 に答える