关于javascript事件处理程序语法的问题

时间:2011-02-16 15:45:09

标签: javascript jquery

我的问题似乎在昨天被删除之前就已经被删除了,所以我正在开始一个关于这个主题的新主题。

我一直在尝试查找跨浏览器调整大小的javascript,并在此处发布的一个答案中遇到了这种语法:

$(window).resize(function()

我恐怕我不懂语法$(window).。这是jquery特有的东西吗?

5 个答案:

答案 0 :(得分:1)

您添加了问题作为旧问题的答案。这是正确的方法!

$(window)是用于创建包含window对象的jQuery对象的jQuery语法。在此触发某些事件,例如resizeload

此语法将resize处理程序添加到window

答案 1 :(得分:1)

让我们分解$(window).resize(function() { });

  • $jQuery的别名)只是JavaScript函数的名称。在这种情况下,它是jQuery object constructor function

  • (window) - 因为我们正在调用一个函数,所以参数括在括号中。 jQuery函数需要许多参数(选择器字符串,DOM元素[s],其他jQuery对象和HTML字符串)。在这里,我们传递D​​OM window对象,因为我们知道它会触发我们想要绑定的onresize事件。

  • . - jQuery()函数返回jQuery对象 - 其中包含many个方法和属性 - 我们使用句点来访问这些方法。< / p>

  • resize()method of the jQuery object。根据您传递给它的参数,它会触发resize事件(当您不传递参数时)或将新事件处理程序绑定到事件(当您传递函数引用时,就像我们在这里)。每次事件由代码或浏览器触发时,都会调用绑定事件处理程序。

  • function() { }anonymous function的语法。每次调用函数时,您在{ }内编写的代码都会被执行。在这种情况下,触发resize事件时会调用该函数。

答案 2 :(得分:0)

是的,这是jQuery特有的。这是跨浏览器,可以免费下载。我建议使用jQuery,因为它可以解决所有跨浏览器的困难。 $(window)jQuery(window)的简写,它选择浏览器窗口以及任何选项,事件以及与之关联的任何其他内容

答案 3 :(得分:0)

JavaScript中的“$”字符可以在变量和函数名称中自由使用。因此,jQuery使用标识符“$”作为“jQuery”函数的别名。

你可以自己做:

var my$variable = "hello world";
alert(my$variable);

或者

function my$function() { ... }

答案 4 :(得分:0)