为什么人们使用jQuery进行基本操作?
我是一名JS程序员,我一直在尝试使用jQuery,但遇到了一些令人费解的问题。
我觉得人们使用jQuery远远超过必要的。 我真的只想知道为什么选择jQuery可能比使用纯JS更好。
我知道webfx就像动画和淡化一样有意义但是对于像添加事件监听器这样的事情来说它似乎同样易于使用
obj = document.getElementByID(_ID_); obj.addEventListener("mousedown"...);
这方面的一个例子就是我今天早些时候在StackOverflow上找到的关于为突出显示的文本执行操作的答案。 获取突出显示/选定的文本
在http://mark.koli.ch/2009/09/use-javascript-and-jquery-to-get-user-selected-text.html的答案中链接的示例中
该人使用绑定function到文档。 为什么使用bind而不是addEventListener。 同样使用jQuery,一切都需要包含在.ready()方法中,这比(或者为什么选择它)更好
document.addEventListener('load', function () { ... }, false);
还有一次我看到jQuery使用这让我困惑,我希望你们能为我发光一些。
人们使用jQuery因为它更简单,更容易,更强大,并且因为它可以帮助他们忘记IE。
回答您的具体问题:
-
否则,您需要为IE调用
attachEvent
。
此外,jQuery事件处理具有更简单的语法,并支持实时事件。 -
jQuery不要求你把所有东西放在一个
ready
处理程序中; 实际上,将代码移动到页面底部并立即执行它会更好。
与document.addEventListener('load', ...)
,jQuery的ready
事件不会等待加载图像。
此外,它在IE中工作,即使文档已加载,它仍将运行您的代码。
好吧, on()非常有用,因为只能从Internet Explorer 9开始支持addEventListener() 。
反之亦然,例如mouseenter和mouseleave事件:那些只受IE支持(到目前为止),jQuery在其他浏览器中模拟它们。
我最大的原因是跨浏览器兼容性,尤其是事件处理。
jquery背后的想法是“少写,多做”。
使用简单的示例,编写的代码量的差异很小,但是当您开始编写更复杂的东西时,jquery的function变得明显。
jQuery中还内置了很多跨浏览器的东西,这意味着你不必担心特定于浏览器的代码。
因为jQuery开发人员比我更聪明,并且经常会实现更有效的算法来完成我正在尝试做的事情。
我对jQuery独立于平台的信心比单纯JavaScript更有信心。 出于这个原因,我很想尽可能多地使用jQuery。 我认为jQuery是一个很好且稳定的平台,可以通过这种方式抽象出一些特定于浏览器的复杂问题。
因为它是交叉兼容的并得到很好的支持(想想XHR请求)……但是在某些项目中,由于缺乏“资产”方法,我最好使用MooTools代替JQuery。