我的问题似乎在昨天被删除之前就已经被删除了,所以我正在开始一个关于该主题的新主题。关于javascript事件处理程序语法的问题
我一直试图找到跨浏览器的JavaScript调整,以及跨越这句法中一个答案张贴在这里跑:
$(window).resize(function()
我怕我听不懂的语法$(window).
。这是特定于jQuery的东西吗?
我的问题似乎在昨天被删除之前就已经被删除了,所以我正在开始一个关于该主题的新主题。关于javascript事件处理程序语法的问题
我一直试图找到跨浏览器的JavaScript调整,以及跨越这句法中一个答案张贴在这里跑:
$(window).resize(function()
我怕我听不懂的语法$(window).
。这是特定于jQuery的东西吗?
是的,这是特定于jQuery。这是跨浏览器和免费下载。我建议使用jQuery,因为它为您处理所有跨浏览器困难。 $(window)
是jQuery(window)
的简写,它选择浏览器窗口以及与之相关的任何选项,事件和其他任何内容。
JavaScript中的“$”字符可以在变量名和函数名中自由使用。因此,jQuery使用标识符“$”作为“jQuery”函数的别名。
你可以自己做:
var my$variable = "hello world";
alert(my$variable);
或者
function my$function() { ... }
您将您的问题添加为旧问题的答案。这是做到这一点的正确方法!
$(window)
是用于创建包含window
对象的jQuery对象的jQuery语法。某些事件触发此,例如resize
,load
等
这句法增加了resize
处理器的window
。
让我们打破$(window).resize(function() { });
:
$
(为jQuery
的别名)是一个简单的JavaScript函数的名称。在这种情况下,它是jQuery object constructor function。
(window)
- 因为我们正在调用一个函数,所以参数被括在圆括号中。 jQuery
函数需要一些参数(选择器字符串,DOM元素[s],其他jQuery对象和HTML字符串)。在这里,我们传递DOM window
对象,因为我们知道它会触发我们要绑定到的onresize
事件。
.
- 的jQuery()
函数返回一个jQuery
物体—具有many方法和属性—和我们使用期间访问的那些方法。
resize()
是method of the jQuery
object。根据您传递给它的参数,它会触发resize
事件(当您传递任何参数时)或将新事件处理程序绑定到事件(当您传递函数引用时,就像我们在这里一样)。每次事件被代码或浏览器触发时,都会调用绑定的事件处理程序。
function() { }
是anonymous function的语法。每次调用函数时,您在{ }
内写入的代码都会执行。在这种情况下,当resize
事件被触发时,该函数被调用。
那么它不是真的特定于jQuery - Prototype.js库也使用全局“$”标识符。 – Pointy 2011-02-16 15:50:22