为什么人们使用jQuery进行基本操作?

aus*_*nbv 27 javascript performance jquery

我是一名JS程序员,我一直在尝试使用jQuery,但遇到了一些令人费解的问题.

我觉得人们使用jQuery远远超过必要.我真的只是想知道为什么选择jQuery可能比使用纯JS更好.

我知道webfx就像动画和淡化一样有意义但是对于像添加事件监听器这样的东西它似乎同样容易使用

obj = document.getElementByID(_ID_);
obj.addEventListener("mousedown"...);
Run Code Online (Sandbox Code Playgroud)

这方面的一个例子是我今天早些时候在StackOverflow上找到的关于为突出显示的文本执行操作的答案.获取突出显示/选定的文本

http://mark.koli.ch/2009/09/use-javascript-and-jquery-to-get-user-selected-text.html的答案中链接的示例中

该人使用绑定功能到文档.为什么使用bind而不是addEventListener.另外,对于jQuery,一切都需要包含在.ready()方法中,这比(或者为什么选择它)更好

document.addEventListener('load', function () { ... }, false);
Run Code Online (Sandbox Code Playgroud)

还有一次我看到jQuery使用这让我很困惑,我希望你们能为我发光一些.

SLa*_*aks 50

人们使用jQuery因为它更简单,更容易,更强大,并且因为它可以帮助他们忘记IE.

回答您的具体问题:

  1. 否则,您需要调用attachEventIE.
    此外,jQuery事件处理具有更简单的语法,并支持实时事件.

  2. jQuery不要求你把所有东西都放在一个ready处理程序中; 实际上,将代码移动到页面底部并立即执行它会更好.
    不像document.addEventListener('load', ...),jQuery的ready事件不会等待图像加载.
    此外,它在IE中工作,即使已加载文档,它仍将运行您的代码.


Fré*_*idi 27

好吧,on()非常有用,因为只能从Internet Explorer 9开始支持addEventListener().

反之亦然,例如mouseentermouseleave事件:那些只受IE支持(到目前为止),jQuery在其他浏览器中模拟它们.


Stu*_*ser 14

我最大的原因是跨浏览器兼容性,尤其是事件处理.


Ant*_*Ant 6

jquery背后的想法是"少写,多做".

使用简单的示例,编写的代码量的差异很小,但是当您开始编写更复杂的东西时,jquery的功能变得明显.

jQuery中还内置了很多跨浏览器的东西,这意味着你不必担心特定于浏览器的代码.