English 中文(简体)
在物体中储存舱位选择器
原标题:storing jquery selectors in an object

下述情况似乎并不可行:

IT.TopSlide = {

 selectors : {
  div : $( #top-slide ),
  signup : $( #top-slide #signup ),
  login : $( #top-slide #login ),
  signup_trigger : $( #header .top-slide-triggers a.signup-trigger ),
  login_trigger : $( #header .top-slide-triggers a.login-trigger ),
  close : $( a.close )
 },

 init : function (){

  var selectors = IT.TopSlide.selectors;
  selectors.div.hide();
  selectors.login.hide();

 }

};

$(document).ready(function () {
   IT.TopSlide.init();
});

<代码>电子显示器.div返回空阵。 不要忘记,就每个名称空间而言,我要把第一个项目作为我能够使用信息技术的挑选器储存器。 TopSlide。 选自任何其他物体。 从名称空间中,我想将其定义为:var selectedors = IT.TopSlide.selectors;。 因此,我可以访问

最佳回答

你们想要确保,一旦人力部准备就绪,就能够履行这一职能。

$(document).ready(function(){
    IT.TopSlide = {

    selectors : {
        div : $( #top-slide ),
        signup : $( #top-slide #signup ),
        login : $( #top-slide #login ),
        signup_trigger : $( #header .top-slide-triggers a.signup-trigger ),
        login_trigger : $( #header .top-slide-triggers a.login-trigger ),
        close : $( a.close )
     },

     init : function (){

     var selectors = IT.TopSlide.selectors;
     selectors.div.hide();
     selectors.login.hide();

       }

    };


    IT.TopSlide.init();

});

否则,它试图在制造物体之前添加物体。

问题回答

参看您的<代码>。 物体是在管理局不准备就绪时界定的。 当你在像你这样的物体上写上<代码>(“selector”>时,便立即叫作“j Query”功能,并交还含有它发现的任何内容的阵列。

你们应该做两件事: 3. 要么改变你的甄选阵列,只包括遴选人,如:

selectors : {
    div :  #top-slide ,
    signup :  #top-slide #signup ,
    login :  #top-slide #login ,
    signup_trigger :  #header .top-slide-triggers a.signup-trigger ,
    login_trigger :  #header .top-slide-triggers a.login-trigger ,
    close :  a.close 
},

那么,当你想使用它时,就叫作ery:

var selectors = IT.TopSlide.selectors;
$(selectors.div).hide();

or,

列入<条码>电气的职能 标 标 值

selectors : {
    div : function() { return $( #top-slide ) },
    signup : function() { return $( #top-slide #signup ) },
    login : function() { return $( #top-slide #login ) },
    signup_trigger : function() { return $( #header .top-slide-triggers a.signup-trigger ) },
    login_trigger : function() { return $( #header .top-slide-triggers a.login-trigger ) },
    close : function() { return $( a.close ) }
},

因此,为了使用:

var selectors = IT.TopSlide.selectors;
selectors.div().hide();

这两种方式都会奏效,并将在你实际上想要与OMM的比喻时,把实际上的 calling笑推迟到正确点。

Update

如果在文件首次装满时需要将这些职能安排下来,那么,你将需要用一个美元(文件)的警示功能。 你们可以把《守则》保留在你们的名下,发挥职能,把所有成果都 j为 j,如:

IT.TopSlide = {

    ...

    cacheSelectors: function() {
        return {
            div : $( #top-slide ),
            signup : $( #top-slide #signup ),
            login : $( #top-slide #login ),
            signup_trigger : $( #header .top-slide-triggers a.signup-trigger ),
            login_trigger : $( #header .top-slide-triggers a.login-trigger ),
            close : $( a.close )
        }
    },

    ...
}

之后,

$(document).ready(function() {
    ...
    IT.TopSlide.selectors = IT.TopSlide.cacheSelectors();
    ...
}

这样,在文件装满和备妥时,你就有一个版本,而且如果你需要,你可以灵活地在任何其他地点(例如,你知道已经修改了OMM)打电话,并使用新的拷贝。

另一种答案是,独一无二的职能能够实际安排甄选者! 这样,你就能够追捕选择者,然而,在人力部准备就绪之前,这部法律就已经生效。

两种选择:

  1. Put the code in the bottom of the page, before closing the body tag.
  2. convert the selectors object to a function and call it on DOM ready. If you want to cache it before running init(), you can do it in the ready event function before calling init():

-

IT.TopSlide = {
    cacheSelectors : function() {
        IT.TopSlide.selectors = {
            div : $( #top-slide ),
            signup : $( #top-slide #signup ),
            login : $( #top-slide #login ),
            signup_trigger : $( #header .top-slide-triggers a.signup-trigger ),
            login_trigger : $( #header .top-slide-triggers a.login-trigger ),
            close : $( a.close )
        }
    },
    selectors : {},
    init : function () {
        var selectors = IT.TopSlide.selectors;
        selectors.div.hide();
        selectors.login.hide();
    }
};

$(function() {
    IT.TopSlide.cacheSelectors();
    IT.TopSlide.init();
});
IT.TopSlide = {    
    selectors : {},

    init : function (){    
        IT.TopSlide.selectors =  {
            div : $( #top-slide ),
            signup : $( #top-slide #signup ),
        };
    },

    another_method : function() {    
        selectors = IT.TopSlide.selectors;    
        var height = selectors.div.height();
    }
};

$(document).ready(function () {
    IT.TopSlide.init();
});

我必须界定一个空洞的挑选器物体,这些器物已填满。 然后,我不得不宣布“选举人”是一个变数,除非我想做的话。 每次我想要这样做的时候(对于我的热情来说,时间很长)。 感谢。





相关问题
JQuery/MVC Search Issue

I have inherited a piece of work where the entry screen shows a summary of 20 calculated variables. E.g. Var A (250), Var B (79). Clicking on any of these links takes the user to a view with a ...

jQuery quicksearch plug-in tinkering with JSON

I ve implemented the quicksearch plugin by Rik Lomas and I love it for an application in a custom CMS I m building. I was wondering though, since I m going to have a bizillion items in the table if ...

JSON with classes?

Is there a standardized way to store classes in JSON, and then converting them back into classes again from a string? For example, I might have an array of objects of type Questions. I d like to ...

PHP json_decode question

i m trying to use json_decode to combine a few json objects and then re-encode it. my json looks like: { "core": { "segment": [ { "id": 7, "...

Converting JSON data to Java object

I want to be able to access properties from a JSON string within my Java action method. The string is available by simply saying myJsonString = object.getJson(). Below is an example of what the string ...