2

应该是快手...

1)我在VS2013中使用MVC创建了一个新项目。
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未设置该属性,用户代理必须将元素的内容解释为脚本。如果src具有 URI 值,用户代理必须忽略元素的内容并通过 URI 检索脚本。

也就是说,您不能同时为元素指定 asrc bodyscript并期望两者都能工作......所以,使用两个单独的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 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 回答