2011-07-08 22 views
0

_Layout.cshtmlの1レベル下にレイアウトされたレイアウトを通して、一度削除されたビューを対象とした_Layout.cshtmlに次のコードがあります。jQuery準備完了コードが実行されていません

<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> 

デバッガコールだけでも、ChromeまたはFirefox 5.0で実行するjQueryコードを取得できません。これは、MVC3プロジェクト内のjQuery 1.4.4で行われます。コードは、FirebugとChrome JSコンソールの両方に貼り付けるときに機能するので、コード自体が不具合ではないことがわかります。

修正:私は間違った文書を最後の溝の試みとして引用符で追加しました。私はデフォルト(私はjQueryを扱うのに慣れていた)、$(function() {構文を使ってみましたが、違いはありません。実際の問題は私の構文ではなく、正しいコードが実行されていないことです。私は全く相違なく引用符を削除しました。

追加:debugger行にブレークポイントを設定すると、コードはChromeコンソールのブレークポイントで停止します。私はこれが何であるか分かりません。

+0

ページに構文エラーがありますか?ページの別の部分(またはjQuery自体)の構文エラーにより、readyイベントが起動しなくなる可能性があります。 – Jab

+0

@Jab、私はページに他のコードはありません。私はTelerikやMicrosoftのコードがそのような影響のエラーを招くのではないかと疑います。 – ProfK

+0

@profK telerikスクリプトレジストラを使用していますか?私はあなたが上にそれを表示しないことを知っているが、私はこの自動jqueryがデフォルトで含まれているとjqの2つのコピーとの競合を引き起こしている可能性がありますので、 – redsquare

答えて

1

ちょうど終了bodyタグの前に文書の下部にスクリプトを入れてください。これは非ブロック化であり、doc readyブロックの必要性を回避します。ダブル勝利。

Further readingヤフー、hereデイヴ・ワード。

6

documentを引用符で囲まないでください。まだ

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

またはより良い、ちょうどjQueryのメソッド(ready用の別名)に直接あなたのハンドラ関数を渡す:

$(function() { }); 
4

documentは引用符でなければなりません:

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

あなたはセレクタに文字列 "document"があり、それはドキュメントオブジェクトである必要があります

$(document).ready(); 
1

すでに述べたように、documentには引用符を付けるべきではありません。これを避けるために、あなたは準備ができてコールバックを定義する代わりに

$(function() { 
    debugger; 
}); 

を行うことができます

0

jquery-1.4.4.min.jsは、scriptsフォルダには含まれていないため、使用できません。

jquery-1.5.1.min.jsに置き換えられ、問題は解決されました。

関連する問題