Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/446.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript jquery中window.resize()和window.on(';resize';)之间的差异_Javascript_Jquery - Fatal编程技术网

Javascript jquery中window.resize()和window.on(';resize';)之间的差异

Javascript jquery中window.resize()和window.on(';resize';)之间的差异,javascript,jquery,Javascript,Jquery,window.resize()和window.on('resize',function()) 在jquery?中,从page.resize()开始: 此方法是.on('resize',handler)的快捷方式 on()是: .on()方法将事件处理程序附加到当前选定的 jQuery对象中的元素集。从jQuery1.7开始,.on() 方法提供附加事件所需的所有功能 处理程序。有关从旧的jQuery事件方法转换的帮助,请参阅 .bind()、.delegate()和.live() 因此,根据jQ

window.resize()
window.on('resize',function())
在jquery?

中,从page.resize()开始:

此方法是.on('resize',handler)的快捷方式

on()是:

.on()方法将事件处理程序附加到当前选定的 jQuery对象中的元素集。从jQuery1.7开始,.on() 方法提供附加事件所需的所有功能 处理程序。有关从旧的jQuery事件方法转换的帮助,请参阅 .bind()、.delegate()和.live()


因此,根据jQuery api的描述,我认为没有区别,它只是一个类似于$.click()和其他的快捷方式,
$(“#element”).resize()和
$(“#element”).on('resize',function())
之间没有区别。前者是后者的简写。但是,从jQuery3开始,事件速记就不再使用了。这也适用于以下事件速记:模糊、单击、聚焦、聚焦、聚焦、调出、滚动、dblclick、mousedown、mouseup、mousemove、mouseover、mouseout、mouseenter、mouseleave、更改、选择、提交、向下键、按键、向上键和上下文菜单。

与“调整大小”上的
相比,您没有理由使用它…
。您也可以这样做,就像
单击(function()…
工作一样,但最好只使用
on()
附加事件处理程序。@snorax“最好只…[使用]
on()
。”?为什么?前者是后者的缩写,它的存在是有原因的。在许多情况下,它更具可读性,并且为了同样的效果,您编写的代码更少。它是“最好的”做适合您的场景的事情,并了解备选方案及其重要性。这就是这个问题的重点。@nbrooks如果您想附加多个事件,您最好这样做,因为您将来会需要它。例如
on(“单击dragover”)
等。如果要对动态添加的元素执行某些操作,还需要使用它,如
$(“body”)。在(“click”、“.dynamiccelement”,function()上…
。当您打算在不同的场景中使用它时,为什么不使用它呢?最好使用一个一致的方法。@Snorax您强调的一点是,此API功能强大,对许多用例都有多种用途。在处理委托事件时,您可以使用它,就像在处理多个事件时使用它一样s、 或者自定义事件。需要记住的一点是,您使用的变体适用于您的用例。对于简单的“我只需要一个点击处理程序场景”,使用
单击
。对于处理某个子项上的单击和鼠标移动的委托事件处理程序…如果描述更复杂,您会期望代码更复杂。可读性>教条主义。@nbrooks我理解您的意思,但我向您保证,在将来,所有这些速记都将被弃用,因为不需要速记,因为速记要短4-5个字符,不是吗?
$(“#元素”)。在(“click”)上,function()
看起来比
$(“#元素”)。就可读性而言,click(function()
)对我和许多其他人来说确实是这样。