╋艺 镇╋╋网站网络|程序语言|Flash╋┣◇网站建设&Web语言 → 关于JQuery的$(document).ready()放的位置


  共有18086人关注过本帖树形打印复制链接

主题:关于JQuery的$(document).ready()放的位置

美女呀,离线,留言给我吧!
admin
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 司令 亲民勋章
等级:管理员 帖子:3027 积分:27515 威望:0 精华:7 注册:2003/12/30 16:34:32
关于JQuery的$(document).ready()放的位置  发帖心情 Post By:2010/12/16 16:24:53 [只看该作者]

 今天我在项目中用了一下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脚本    其中用到了这个库中 $(


  
平面设计、网站建设、三维动画、视频制作 联系QQ:114103945  回到顶部
美女呀,离线,留言给我吧!
admin
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 司令 亲民勋章
等级:管理员 帖子:3027 积分:27515 威望:0 精华:7 注册:2003/12/30 16:34:32
  发帖心情 Post By: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'});  
    });  
}); 

谢谢你 您的解答,这样可行。非常感谢!


  
平面设计、网站建设、三维动画、视频制作 联系QQ:114103945  回到顶部
美女呀,离线,留言给我吧!
admin
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 司令 亲民勋章
等级:管理员 帖子:3027 积分:27515 威望:0 精华:7 注册:2003/12/30 16:34:32
  发帖心情 Post By:2010/12/16 16:28:19 [只看该作者]

我一般都放在页面的最下面,呵呵!

----

  1. $(document).ready(function(){   
  2.     $("input,select").focus(function(){    
  3.     $(this).css({background:'#FF9900', border:"1px solid #f00",backgroundColor:'#FFFFEC'});    
  4.    });    
  5. }); 

一般放在哪里都一样,但是Js的执行顺序要搞清楚。最好是楼上所写的那样,在$(document).ready之后在执行。

--------------------

可能是你引用的js中有的把$标识符覆盖了吧,prototype和Jquery一块用的话可能冲突,因为都用到了$运算符

---------------

不用放到最后,把对 dom 对象的操作都话到
Javascript代码

$(document).ready(
function(){  });  

里面就行了

-------------------


可能是$跟其他库的冲突了,改成
Java代码
  1. jQuery(document).ready(function(){  });    

试试;
或者在代码的前面写上
Java代码
  1. jQuery.noConflict();


  
平面设计、网站建设、三维动画、视频制作 联系QQ:114103945  回到顶部