代码之家  ›  专栏  ›  技术社区  ›  Jeff

jquery初学者问题

  •  0
  • Jeff  · 技术社区  · 16 年前

    我已经完成了pc regex,并转到jquery。;)

    一个朋友跟我说,我对javascript和jquery几乎一无所知,他让我用它来替换我所有的旧脚本。从目前为止我所看到/看到的来看,这看起来相当容易。

    首先,我的首选是在 </body> 标签。jquery是否可以这样做,或者应该将其加载到 <head> ?找不到有关此的任何讨论。

    “child”jquery脚本怎么样?我想是因为 $(document).ready(function() 我可以把它们装到任何我想要的地方。对吗?

    我将替换一些以前使用过的脚本:

    jquery是否进行帧中断?别想了。

    jquery是否进行窗体/元素聚焦?思考是的。

    编辑:

    对所有额外的问题感到抱歉。

    我所说的“子脚本”是指“我所有的常规脚本”,例如:

    <script type="text/javascript" src="tooltips.js"></script>
    <script type="text/javascript" src="popups.js"></script>
    
    6 回复  |  直到 16 年前
        1
  •  3
  •   Russ Cam    16 年前

    这是我的jquery入门指南-

    Download the HTML documentation 仔细检查一下库的结构以及您可以使用哪些命令。本地保存文档速度更快,搜索功能也很好地工作。

    看看 notes on the jQuery event object 它们解释了事件模型如何工作的一些基本概念。

    一旦熟悉了核心API,您可能会发现需要为页面中所需的定制功能编写插件。这个 plugin authoring guide is a must read 在这一点上,它将鼓励代码结构中的良好习惯。

    订阅jquery博客。这不仅可以使您了解即将发布的版本中可能出现的新功能,还可以提供对您不熟悉的框架领域的深入了解。我可以推荐一些(没有特别的顺序):

    为了回答你的具体问题,

    $(document).ready(function() { ... }) (速记) $(function() { ... }); )将在加载DOM后立即执行。这是 通常 要在其中放置页面的设置代码。

    页面中还有其他脚本也可以。如果您更愿意将脚本引用放在页面的底部,那么就继续使用它(尽管在第一次访问您的站点之后,脚本是 通常 缓存。如果您可以使用cdn提供的某些脚本,例如google api提供的jquery脚本,那么很可能该脚本已经为客户机缓存。

    我在jquery core中没有看到任何框架破坏的内容,它要么是您需要实现自己的东西,要么是查看 myriad of plugins already written -如果这是一个常见的场景并且很有用,那么很有可能是有人写的。

    当你说形式元素聚焦时,你的意思是什么?你的意思是,当一个元素有焦点时,如果满足某个条件,焦点会跳到另一个/下一个元素上吗?同样,我在jquery核心中没有看到它,但是看看插件,我想它已经完成了。或者,这可能是您的第一个jquery插件项目:)

        2
  •  1
  •   Agent_9191    16 年前

    你真的应该把这些独特的问题分成几个单独的问题。但总的来说,需要记住的是jquery只是一个在javascript之上的框架。它只是让事情更容易做,而且(大部分)在浏览器之间保持一致。

    要回答第一个问题,请将所有脚本放在 <body> 很好。如果你把所有东西都包起来 $(document).ready(function(){}); 调用,这并不重要,因为它等待浏览器准备好让javascript开始在DOM上执行操作。

    除此之外,只需通读 http://docs.jquery.com

        3
  •  1
  •   Chris    16 年前

    从我所看到的jquery的很多例子来看,将它放在页面的底部是一种新的趋势。

    一旦你有了 $(document).ready 您应该能够将“子脚本”放在左大括号之间。

    我不知道有多少帧崩溃,但是如果你能用JavaScript来实现,没有什么能阻止你在jQuery中使用相同的脚本。

    您应该像对待JavaScript本身那样进行表单/元素聚焦。

    享受jquery的乐趣,希望这对一些人有所帮助。

        4
  •  0
  •   andyface    16 年前

    jquery的一般语法是:

    $(document).ready(function(){
    
    [insert all your jquery scripts to run at load here]
    
    });
    

    这应该放在页面的头部分,然后在文档准备运行dom时运行。

        5
  •  0
  •   Ben Lesh    16 年前

    好吧,一般来说,把所有你能用的脚本都放在标签中是个好主意。这并不完全是必要的,但它的完成是因为a:它使它们更容易找到,b:有一些浏览器,或者至少以前是这样,如果关闭脚本,实际上会将您的javascript呈现到屏幕上。

    我不确定您所说的“子”脚本是什么意思,但是在文档就绪块之外声明为“正常”的函数在任何地方都可以工作。内部声明的函数将只在该块内可用。看看这个:

    function bar() {
       alert('test');
    }
    $(document).ready(function() {
       var foo = function() {
             alert('do something!');
        };
       foo(); //works
       bar(); //works
    });
    bar(); //works
    foo(); //error
    

    jquery对元素的聚焦是这样的:

    <input type="text" id="myInput"/> <button onclick="$('#myInput').focus();">Focus</button>
    

    就框架分解而言,无论您当前使用的是什么脚本,它都应该与jquery一起工作,但实际上没有内置的jquery框架分解逻辑。

        6
  •  0
  •   Mike Robinson    16 年前

    由于速度原因,脚本放在文档的底部。当您的浏览器下载javascript时,它不做任何其他事情(包括下载文档的其余部分)。

    您可以在任何地方加载子JavaScript文件,但同样,页面底部最好。典型的设置是:

    1. 参考jquery(最好是在Google上托管的: http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js -这样做会极大地增加用户在浏览器中已有缓存版本的可能性,这意味着他们不需要再次下载该版本。
    2. 引用子对象
    3. 呼叫$(document).ready

    有关将javascript文件放在何处的更多信息,请使用yslow插件,并阅读Steve Souders的所有内容(“更快的网站”出现在脑海中,尽管它有点高)。

    框架分解应该足够简单,可以自己完成,jquery带有一些很酷的选择器和增强的表单功能。