jQuery Ready код не выполняется - PullRequest
0 голосов
/ 08 июля 2011

В моем _Layout.cshtml указан следующий код, нацеленный на удаленное представление через макет, вложенный на уровень ниже _Layout.cshtml.

<title>@ViewBag.PageTitle</title>
<link rel="icon" type="image/png" href="@Url.Content("~/Images/favicon.png")" />
<link rel="stylesheet" type="text/css" href="@Url.Content("~/Content/Blueprint/screen.css")" media="screen, projection" />
<link rel="stylesheet" type="text/css" href="@Url.Content("~/Content/Blueprint/print.css")" media="print" />
@Html.Telerik().StyleSheetRegistrar().DefaultGroup(group => group.Add("telerik.common.css").Add("telerik.simple.css"))
@RenderSection("MainBodyStyling", false)
<script src="@Url.Content("~/Scripts/jquery-1.4.4.min.js")" type="text/javascript"></script>
<script type="text/javascript">
    $(document).ready(function () {
        debugger;
        //$("iframe").width($("iframe").contents().find("table").width());
    });
</script>

Я не могу заставить выполнить код jQuery, в Chrome или Firefox 5.0, даже только вызов отладчика. Это с jQuery 1.4.4, внутри проекта MVC3. Код работает, когда я вставляю его в консоли Firebug и Chrome JS, поэтому я знаю, что сам код не виноват.

ИСПРАВЛЕНИЕ: Я добавил ошибочный документ с кавычками в качестве последней попытки рва. Я пробовал использовать настройки по умолчанию (я привык работать с jQuery), синтаксис $(function () {, без разницы. Настоящая проблема не в моем синтаксисе, а в правильном коде, который не выполняется. Я удалил кавычки без разницы.

ADDENDUM: Если я поставлю точку останова на строке debugger, код остановится на точке останова в консоли Chrome. Я понятия не имею, о чем это.

Ответы [ 6 ]

6 голосов
/ 08 июля 2011

Не используйте кавычки вокруг document.

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

или, что еще лучше, просто передайте свою функцию-обработчик непосредственно в метод jQuery (псевдоним для ready):

$(function () { });
4 голосов
/ 08 июля 2011

document должно быть без кавычек:

$(document).ready(function() {
    debugger;
});
1 голос
/ 09 июля 2011

Поместите ваши скрипты внизу документа непосредственно перед закрывающим тегом body. Это не блокировка и позволяет избежать необходимости в готовых документах блоков. Двойной выигрыш.

Дополнительная информация от Yahoo и здесь Дейва Уорда.

1 голос
/ 08 июля 2011

как уже говорилось, document не должно иметь кавычек.Чтобы избежать этого, вы можете вместо этого сделать

$(function() {
    debugger;
});

, чтобы определить готовый обратный вызов

1 голос
/ 08 июля 2011

В селекторе есть строка «document», которая должна быть объектом документа

$(document).ready();
0 голосов
/ 19 января 2012

jquery-1.4.4.min.js не входит в папку сценариев, поэтому его нельзя использовать.

Я заменил его на jquery-1.5.1.min.js, и проблема была решена.

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