2

急ごしらえのはず...

1) MVC を使用して VS2013 で新しいプロジェクトを作成しました。
2) プロジェクト テンプレートで作成された既定の Home\Index.cshtml の下部に次のコードを追加しました。

<button class="myalertclass">Alert me</button>

<script src="@Url.Content("~/Scripts/jquery-1.10.2.js")">
    $(document).on('click', '.myalertclass', function (e) {
        alert('Hello you');
    })
</script>

「Alert me」ボタンをクリックすると、「Hello you」というメッセージ ボックスが表示されることを期待していましたが、そのような喜びはありませんでした。

問題は、ボタンをクリックしてもイベントが発生しないことです。どこかで配線が抜けていると思いますが、困惑しています。

4

2 に答える 2

3

w3.orgによると(強調鉱山):

スクリプトは、SCRIPT要素のコンテンツ内または外部ファイル内で定義できます。属性が設定されていない場合src、ユーザー エージェントは要素の内容をスクリプトとして解釈する必要があります。に URI 値がある場合、ユーザー エージェントは要素の内容を無視し、URI を介してスクリプトを取得する必要がありますsrc

つまり、要素に asrc body の両方を指定して、script両方が機能することを期待することはできません。したがって、2 つの別個scriptの要素を使用してください。

<script src="@Url.Content("~/Scripts/jquery-1.10.2.js")"></script>
<script>
    $(document).on('click', '.myalertclass', function (e) {
        alert('Hello you');
    })
</script>
于 2013-10-30T17:18:32.457 に答える
0

参照される script タグにインライン スクリプトを含めることはできません。これを試して:

<script src="@Url.Content("~/Scripts/jquery-1.10.2.js")"></script>

<script>
    $(document).on('click', '.myalertclass', function (e) {
        alert('Hello you');
    })
</script>
于 2013-10-30T17:19:07.837 に答える