我正在重新在我的网站上使用一些工具提示功能。在jQuery/JavaScript中使用揭示模块模式
我与所述显示模块模式试验如下布局:
http://www.addyosmani.com/resources/essentialjsdesignpatterns/book/#designpatternsjavascript
作为一个快速测试我想这:
var tooltip = function(){
var foobar = 'foo and bar';
function getAlerter(){
return alert(foobar);
}
return{
alerter: getAlerter
}
}();
tooltip.alerter();
其中预期警报 'foo和bar'。
但是,我需要通过触发提示功能,像这样的元素:
var tooltip = function(elem){
var trigger = elem;
function getAlerter(){
return alert(trigger);
}
return{
alerter: getAlerter
}
}();
tooltip.alerter('.trigger');
但这返回undefined。我不知道为什么:(
在这一点,所有的答案,有一个小缺陷 - 功能应被宣布为“瓦尔”保持隐私,否则会被揭示为全局。 – 2013-04-08 16:25:11