Django JQuery готов событие не стрельба - PullRequest
2 голосов
/ 25 июня 2009

У меня есть проект django, но по какой-то причине базовый jquery не работает.

<html>
    <head>
        <link href="/site_media/css/poll.css" rel="stylesheet" type="text/css">
        <script type="text/javascript" src="/site_media/js/jquery-1.3.2.js" />
        <script type="text/javascript">
                $(document).ready(function(){
                    alert('hi there');
                });
        </script>
    </head>

и т.д ...

По какой-то причине готовое событие не запускается. JQuery и CSS оба определенно присутствуют (Firebug подтверждает это для меня). На странице нет ошибок JavaScript.

Я упускаю что-то совершенно очевидное или в Django есть что-то тонкое, требующее настройки, чтобы jQuery мог работать с ним.

РЕДАКТИРОВАТЬ : На самом деле никакой javascript не работает после импорта jquery! Добавление

<script type="text/javascript">alert("hi");</script>

работает, если размещено до импорта jquery, но не после.

Ответы [ 3 ]

6 голосов
/ 25 июня 2009

Это может быть связано с отсутствующим конечным тегом </script> для строки включения скрипта jQuery. Например:

<script type="text/javascript" src="/site_media/js/jquery-1.3.2.js"></script>

В соответствии с примечанием в спецификации HTML для элемента SCRIPT здесь требуются как начальный, так и конечный теги.

0 голосов
/ 06 марта 2012

Я столкнулся с той же проблемой. Размещение сценариев ближе к концу тела html решило проблему.

0 голосов
/ 25 июня 2009

У вас есть какие-либо другие блоки скриптов, которые вызывают ошибку - это может привести к тому, что готовность не сработает. Другие вещи, которые нужно попробовать, - убедиться, что html vaidates на w3c, запустить страницу в ie и посмотреть, не выдаст ли это ошибку, которую не делает firebug. Если это не удастся, можете ли вы открыть страницу в прямом эфире, и я смогу провести расследование самостоятельно?

Если HTML рендерится после вставки, django может не повлиять на событие готовности, не запускаемое.

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