在$(document).ready(function(){中放置javascript调用(例如blur,onclick等)之间是否存在差异,性能或效率,而不是将它们放在HTML中?
谢谢!
答案 0 :(得分:3)
我认为“在DOM中”你的意思是:
<a href='#' onclick='someCodeHere()'>Click Me</a>
正确?如果是这样的话,那就不是性能,而是可维护性和功率。使用jQuery(因为你在jQuery术语中提到了“ready”处理程序)来绑定你的事件让框架负责管理多个处理程序,并处理浏览器差异。
事实上,有时候根本不直接绑定元素会更好。相反,您可以使用jQuery“实时”或“委托”机制来帮助减少实际的处理程序绑定并提供更动态的DOM。
答案 1 :(得分:0)
我不太明白将它们放在DOM中的含义。但是,如果你的意思是在你体内的脚本标签内。 document.ready事件在加载图像之前执行,它为javascript操作节省了时间
答案 2 :(得分:0)
我同意使用jQuery或其他更优雅,并且具有不引人注目的js。这种方式清晰可见,易于扩展。
我只想提一下我所有这一切的快速问题,它涉及生成的代码(即来自框架的html)。就我而言,Apache Trinidad是JSF的一部分。当trinidad生成HTML时,它包含内联javascript调用,如onclick='submitForm(..)'
我正在修改现有的自定义内联调用以使用jQuery,例如:
<tr:commandLink onClick="doStuff()" />
生成html,如:
<a href="#" onclick="doStuff(); submitForm(..)" />
现在,如果javascript调用是内联的,如果从方法返回false,则onClick的其余部分将不会执行。但是,当使用非突兀的jQuery时,内联方法不会被停止(不管怎么说都不容易)。
我想我所说的是“厌倦了框架”: - )