最近,我发现自己经常使用jQuery和JavaScript,经常做与使用CSS之前相同的事情。
例如,我使用JavaScript/jQuery替换表行的颜色或创建按钮和链接悬停效果。这可以接受吗?或者我应该继续使用CSS来做这类事情?
所以真正的问题是:什么时候我使用了太多的jQuery?当我越界的时候,我怎么理解呢?
发布于 2010-05-13 20:46:35
如果您使用的是jQuery to do things that can be done easily without jQuery,那么您就越界了。jQuery的目的是让生活变得更容易,但它不应该以兼容性或可用性为代价。
jQuery当然不应该用来代替CSS --想想那些禁用了JavaScript的用户吧。
我知道这张图片被过度使用了,但总得有人把它放在这里:

Image Credit - bobince。
发布于 2010-05-13 21:16:28
我不认为这里有一条“线”,我认为有一些简单的东西和一些灰色地带,你必须平衡你想要的东西。高级特性,性能,兼容性,想想这些是一个三角形,很难同时做到最好的三者。
如果CSS可以做到这一点,当然也可以在CSS中做到。如果不能在CSS中使用jQuery,但不要在不需要开销的地方使用jQuery,例如$(this).attr("id")通常可以是this.id,许多东西都可以严格地在DOM上使用,并且仍然是跨浏览器的方式。
你什么时候用得太多了?当它不是需要的时,有时你需要jQuery来实现跨浏览器的CCS3选择器,有时你正在使用一个已经可用的CSS选择器,并将它放在样式表中。还有上百个其他的例子,但是如果你可以在没有它的情况下以一种跨浏览器的干净方式过活,那么就没有必要,像淡出这样的事情是不容易完成的。如果您需要包含jQuery,那么没有理由不使用.fadeIn() (代码已经包含,为什么要重复它呢?)
JavaScript vs No JavaScript
正如这里的评论所说,你的站点应该在没有javascript的情况下为提供所有的基本功能,这通常不是问题,例如捕捉点击并通过AJAX...if加载内容你没有捕捉到它他们做了一个完整的页面重新加载,这是一个简单的回退到标准行为。然而,所有的“花花公子”?这肯定是固执己见的,但我认为你不应该不遗余力地向提供所有没有JavaScript的功能。用户关闭了它,他们没有得到花哨的东西,这是fine...look在所以作为一个例子,禁用JavaScript禁用了许多不必要的功能,你可以浏览很好,但是评论,投票,主要是动作在没有javascript的情况下不一定可用。
发布于 2010-05-13 20:46:40
如果你关闭了浏览器上的java脚本,你的站点/应用程序不能运行,或者没有它的功能,那么你就有问题了。
JS很棒,但如果它被禁用,它永远不会阻止用户使用您构建的东西。
https://stackoverflow.com/questions/2826791
复制相似问题