以文本方式查看主题 - ╋艺 镇╋ (http://wdystv.com/bbs/index.asp) -- ┣◇网站建设&Web语言 (http://wdystv.com/bbs/list.asp?boardid=4) ---- 关于JQuery的$(document).ready()放的位置 (http://wdystv.com/bbs/dispbbs.asp?boardid=4&id=2662) |
-- 作者:admin -- 发布时间:2010/12/16 16:24:53 -- 关于JQuery的$(document).ready()放的位置 今天我在项目中用了一下JQuery。 我们的页面是用 JSP+WebWork+部分<%%>代码 首先 ,我将 jquery.js和custom.js 的引用加到<head></head>中所有<script></script>之前。 可页面加载后,死活弹出脚本错误,说$("input") 没有定义。 $("input,select").focus(function(){ $(this).css({background:\'#FF9900\', border:"1px solid #f00",backgroundColor:\'#FFFFEC\'}); }); 可是,input是我的输入文本框标签。既然整个文档都加载完成了,为什么提示没有到找呢? 后来我将jquery.js和custom.js放在</body>之前。靠,生效了,没有弹出错误了。而且文本框获得焦点也能改变颜色。 我的想法,放在<head></head>之间,难道是webwork里面有程序在执行,导致 dom 页面没有加载完成? 放在最后,就OK了? 请大家说说看吧! 问题补充: $(document).ready(function(){ $("input,select").focus(function(){ $(this).css({background:\'#FF9900\', border:"1px solid #f00",backgroundColor:\'#FFFFEC\'}); }); }); 回答 kanny87929的 楼主用了别的JS库了? 是的,我这里面还有别的JS脚本 其中用到了这个库中 $( |
-- 作者:admin -- 发布时间:2010/12/16 16:25:23 -- 那你改成这样写,所有用jQuery中的$的符号都改用jQuery就行了
jQuery(document).ready(function(){ jQuery("input,select").focus(function(){ jQuery(this).css({background:\'#FF9900\', border:"1px solid #f00",backgroundColor:\'#FFFFEC\'}); }); }); 谢谢你 您的解答,这样可行。非常感谢! |
-- 作者:admin -- 发布时间:2010/12/16 16:28:19 -- 我一般都放在页面的最下面,呵呵!
----
一般放在哪里都一样,但是Js的执行顺序要搞清楚。最好是楼上所写的那样,在$(document).ready之后在执行。 -------------------- 可能是你引用的js中有的把$标识符覆盖了吧,prototype和Jquery一块用的话可能冲突,因为都用到了$运算符 --------------- 不用放到最后,把对 dom 对象的操作都话到
里面就行了 ------------------- 可能是$跟其他库的冲突了,改成
试试; 或者在代码的前面写上
|