2013-10-13 48 views
1

在此處輸入代碼hereenter代碼我試圖創建一個名爲RATING的名稱空間,其中有兩個函數名爲「create」和「addHandler」。 但是,創建函數接收一個選擇器作爲參數。選擇器指向「div」標記,而addHandler函數接收「a」元素作爲參數。使用名稱空間中的參數聲明函數

我該如何做到這一點?

;RATER = { 
    name: 'RATER', 

    create: function($){ 
     $(".stars") 
    }(jQuery);, 

    addHandler: function(){ 

    }(jQuery); 
} 

這是我已經盡力了,我知道它錯了,但林不知道該怎麼做。

+0

那麼,什麼是問題,你有什麼嘗試,向我們展示你的代碼。 –

回答

1

你可以嘗試這樣的事情

HTML:

<div id='d'>Div</div> 
<a id="link" href='http://heera.it'>Link</a> 

JS:

var RATING = {}; 
RATING.name = 'Rater'; 
RATING.create = function(selector){ 
    alert('Name : ' + this.name); // <-- this.name = RATING.name 
    $(selector).css('color', 'red'); 
}; 

RATING.addHandler = function(aTag){ 
    $(aTag).on('click', function(e){ 
     e.preventDefault(); 
     alert('href : ' + this.href); 
    }); 
}; 

使用它像

$(function(){ 
    RATING.create('#d'); 
    RATING.addHandler($('#link')); 
}); 

DEMO.

+0

是的,你的回答很有幫助,但是我怎樣才能讓選擇器指向'div'標籤(在這種情況下,div有類叫做星星)? –

+0

@EMADSEYED,檢查[這個例子](http://jsfiddle.net/heera/C9jZU/2/)。 –

+0

非常感謝@Sheikh Heera –