2013-10-13 46 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 –