Использование отдельного файла .js для обработки Jquery - PullRequest
2 голосов
/ 10 июня 2009

Я новичок в Jquery и столкнулся с проблемой при попытке поместить мои скрипты JQuery в отдельный файл в папке моего проекта. Я работаю с плагином под названием Corner. Вот соответствующая часть файла HTML

<script type="text/javascript" src="scripts/jquery-1.3.2.min.js"></script>
<script type="text/javascript" src="scripts/jquery.corner.js"></script>
<script type="text/javascript" src="scripts/myJQuery.js"></script>

Комментируя вышеприведенную строку и раскомментируя приведенный ниже скрипт, плагин работает. Содержимое myJQuery.js является точным сценарием ниже (исключая теги сценария).

    <!--<script>
        $(document).ready(function() 
        {
                $("div.container").corner();
            $("div.linkList").corner();
      })
    </script>-->

HTML:

<body>
    <div class ="container">
        <div class ="header"></div>
    <div class ="linkList"></div>
    </div>
</body>

Есть идеи, почему один и тот же код работает в одном направлении (в файле HTML), а не в другом (отдельный файл .js)? Заранее спасибо.

Ответы [ 6 ]

3 голосов
/ 28 января 2010

При работе с ПК убедитесь, что вы сохранили файл в формате кодировки ANSI. Если он в формате UTF-8, убедитесь, что вы указали это в своем теге скрипта, т.е.

<script type="text/javascript" src="scripts/myJQuery.js" charset="UTF-8"></script>
3 голосов
/ 11 июня 2009

Вы говорите, что код:

$(document).ready(function() 
            {
                            $("div.container").corner();
                $("div.linkList").corner();
      })

Работает, когда он встроен, но не во внешнем файле?

Является ли приведенный выше код единственным кодом в myJQuery.js? Если это не так, убедитесь, что в файле есть синтаксические ошибки, препятствующие запуску кода. Я создал пример того, что у вас есть выше, с кодом в отдельном файле, и он работает правильно. Проверьте http://thetimbanks.com/demos/help/separate/ и просмотрите исходный код, если хотите увидеть код.

2 голосов
/ 12 ноября 2011

Убедитесь, что jquery-1.3.2.min.js вызывается перед другими файлами javascript.

0 голосов
/ 28 декабря 2012

Пока вы используете Функция JQuery API , например, $(document).ready(); Вам нужно вызвать jquery-1.3.2.min.js перед вашим пользовательским файлом js, включающим функцию JQuery API

0 голосов
/ 28 января 2010

Проблема, которую я вижу, - это HTML-комментарии, которые вы используете <!-- --> ..

если поместить в файл js, это приведет к тому, что файл не будет загружен, поскольку это не комментарии Javascript, а HTML.

, поэтому, если код в файле js равен

<!--
                $(document).ready(function() 
                {
                                $("div.container").corner();
                    $("div.linkList").corner();
          })
-->

тогда сделай это так

//<!--
                $(document).ready(function() 
                {
                                $("div.container").corner();
                    $("div.linkList").corner();
          })
//-->
0 голосов
/ 10 июня 2009

Обычная причина - ошибки в именах файлов или разрешениях.

Проверьте журналы вашего веб-сервера на наличие ошибок.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...