JavaScript自调用函数闭包不能正常工作
JavaScript self invoking function closure not working correctly
免责声明:我正在尝试使用闭包,因为我被告知它们是一种很好的实践(我理解这一点-没有变量在其他函数中使用等),但我不100%理解我在做什么!99%的时间他们工作得很好。
我有以下功能:
(function(){
$("#job-titles-list a").click(function(e){
e.preventDefault();
return false;
});
});
但是当我点击任何链接时,我被带到它们的href
。如果我将函数改为:
// (function(){
$("#job-titles-list a").click(function(e){
e.preventDefault();
return false;
});
// });
我的问题是如何使闭包工作/我不应该使用闭包来做我正在做的事情?
(我知道我不需要return false
和e.preventDefault()
,但我正在尝试一些事情,当它不工作)
您定义了一个函数表达式,但不调用它。添加括号:
(function(){
$("#job-titles-list a").click(function(e){
e.preventDefault();
return false;
});
})();
请注意,如果您在IIFE中没有更多的代码,那么它是完全无用的,因为您没有添加任何变量。
您已经定义了这个框,但是还没有调用它:
(function(){
$("#job-titles-list a").click(function(e){
e.preventDefault();
return false;
});
})(); // < -- Note the () here.
相关文章:
- Javascript:selenium Web驱动程序isDisplayed()不工作
- jQuery UI自动完成突然停止工作
- AngularJS UI路由器不能像ng路由器那样工作
- HTML5音频加载和播放获胜'我不能在iPad上工作
- JavaScript打印功能使日历停止工作
- Javascript.getHours()工作不正常
- 为什么这在IE中的工作方式与在Firefox中不同
- 视频HTML没有'无法在Internet Explorer 11上工作
- 扩展移相器按钮类不工作
- Firebase迁移-简单的Firebase.set没有'不再工作了——旧的还是新的
- 谷歌地图不是以HTML显示,而是在JS Fiddle上工作
- 正在尝试使用if和else添加类,但无法正常工作
- Jquery FadeIn FadeOut 只工作一次
- Foreach无法在Typescript中工作
- 另一个ajax调用中的Jquery ajax调用在for循环中没有按预期工作
- 为什么不是't窗口.恢复正常工作吗?(javascript/jquery)
- JS可以在Chrome中工作,但不能在Firefox中工作
- ajaxToolkit PopupControlExtender不工作.过时的
- HTML标记在脚本标记中工作
- javascript扫雷器floodfill算法不能正常工作