0
如果有人能幫助我我有倒閉的問題和檢索一個私有變量聲明爲使用jQuery的ID選擇一個元素。我有一個模塊,像這樣:jQuery的封閉無法檢索私有變量與DOM對象
var package = package || {};
(function() {
if(!package.slider)
package.slider = {};
function Slider() {
}
// --------- /Public Members --------- //
Slider.prototype = {
init: function(){
_setEvents();
}
};
// --------- Public Members --------- //
// --------- Private Members --------- //
var shoePreview = $('#shoe-preview'); /*somehow this variable does NOT get recognised even though I have it in the DOM.*/
function _setEvents(){
$.subscribe('getAllPerspectives', function(event){ _getAllPerspectives() });
$.subscribe('showPreview', _show);
$.subscribe('hidePreview', _hide);
}
function _getAllPerspectives(){
_getAngleShoeImage(helper.getCurrentAngle());
$.each(constants.angles, function(key, val){
if(val != helper.getCurrentAngle()){
_getAngleShoeImage(val);
}
});
}
function _getAngleShoeImage(angle){
var shoeImage = shoePreview;
shoeImage.html('<p>Hello World</p>');
}
var that = new Slider();
package.slider = that;
})();
$(document).ready(function(){
$.each(package, function (key, val){
val.init();
});
});
現在,如果你在代碼中望去,有一個名爲shoePreview變量,我以爲不會到模塊之外的任何訪問。
現在在某處代碼以後我會叫一些方法將觸發_getAngleShoeImage在那裏我有叫shoeImage設置爲私有shoePreview變量內部變量。
的問題是,一旦我嘗試使用jQuery的HTML()調用它似乎不承認shoePreview變量是什麼。
我和代VAR shoeImage = $(「#鞋預覽」),然後調用HTML()與所需的標記測試這一點,它工作正常。
這個問題是如此之小,但它的駕駛我堅果。我是否正在編寫var shoePreview = $('#shoe-preview');以錯誤的方式或有更多的東西。任何幫助將不勝感激。
謝謝。
謝謝,我認爲這可能做的伎倆。所以在做完這些之後,我能夠獲得一個對象,但是,當我嘗試使用html()來查看內部的標記時,它似乎總是返回undefined,當我嘗試將其輸出爲警報時。這很奇怪。 :(任何可能出錯的地方? – koramaiku
你試過我的第一個方法還是最後一個? –
對不起我剛剛意識到你編輯了你的答案:) – koramaiku