0

为了学习 jQuery,我正在阅读“Jquery: CookBook”一书。在这本书中,我经历了使用“jQuery”的 $ 别名而不产生全局冲突的概念。根据本书,语法如下:

  <html>
  <head> 
   <script type="text/javascript" src="jquery-min.js">
   </script>
   </head>
   <body>
   <script>
   (function($){         //function to create private scope with $ parameter
        alert("Hello");    //private scope and using $ without worry of conflict
    })(jQuery); 
   </script>
</body>
</html>      

但是上面的代码不起作用,并且 firebug 显示语法错误。我找不到任何基于上述概念的文件。谁能告诉我如何正确使用上述语法。在此先感谢。我知道上面的语法看起来很奇怪。但书上说:

所有 jQuery 代码都可以封装在以下自调用函数中:

(function($){ //function to create private scope with $ parameter
//private scope and using $ without worry of conflict
})(jQuery); //invoke nameless function and pass it the jQuery object
4

1 回答 1

0

经过一番努力,我终于得到了答案。有一个用于此的 jquery API,称为 jQuery.noConflict()。以下是它的使用方法:

    <!doctype html>
        <html>
            <head>
                <title>No conflict</title>
                <script src="jquery.js"></script>
            </head>

            <body>
            <p>Click Here </p>

            <script type="text/javascript">
            $.noConflict();
           jQuery(document).ready(function($) {

   // Code that uses jQuery's $ can follow here.            

    $('p').click(function(){

                alert("Hello");
                });

      });


            </script>

            </body>
        </html> 
于 2012-10-11T10:45:15.197 回答