我刚刚学习了一些关于JQuery的侦听器的教程。
在本教程中,他们总是建议将所有JQuery脚本代码放在匿名调用javascript函数中,不带任何参数。
这有什么原因吗?侦听器在匿名函数体之外工作。
发布于 2013-08-17 18:11:55
如果你的意思是:
(function() {
// Your code here
})();这是因为你在这个函数中声明的函数不会变成全局函数。全局名称空间已经足够拥挤,很少有任何理由添加到其中。
例如,如果您这样做:
<script>
function foo() {
// ...do something useful...
}
// Use foo
foo(); // or `$("some selector").click(foo);`, etc.
</script>.你会创建一个叫foo的全局的但如果你这么做
<script>
(function() {
function foo() {
// ...do something useful...
}
// Use foo
foo(); // or `$("some selector").click(foo);`, etc.
})();
</script>...you不知道。
发布于 2013-08-17 18:13:33
你是说文档准备功能吗?
$(document).ready(function() {
}简短版本:
$(function() {
});如果引用jquery,则此函数将在您的dom准备就绪时触发。不能将匿名自调用混合在一起:
(function() {
})();最后一个问题与jquery无关。
发布于 2013-08-17 18:13:54
你在说什么?你能说清楚点吗?
你指的是这样的事情吗?
$(".some-class").bind("click hover", function(){
// Do something
});如果你指的是这个,那么这个可能会有帮助。
Syntax
bind(eventType, data, listener)在这里,eventType (字符串)是“单击”、“悬停”等事件,监听器(函数)是必须在触发eventType后立即执行的代码。
因此,不管名称如何,只要事件被触发,该函数就会运行。
https://stackoverflow.com/questions/18291852
复制相似问题