使用jQuery注册On-Click事件 - 不启动

时间:2013-10-30 17:16:25

标签: javascript jquery asp.net-mvc-4

应该快速......

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>

我现在期待当我点击“提醒我”按钮时,我会收到一个带有“你好”的消息框,但没有这样的快乐。

问题是当我点击按钮时,事件不会被触发。我想我在某处错过了一些布线,但我很难过。

2 个答案:

答案 0 :(得分:3)

根据w3.org(强调我的):

  

脚本可以在SCRIPT元素的内容中定义,也可以在外部文件中定义。如果未设置src属性,则用户代理必须将元素的内容解释为脚本。 如果src具有URI值,则用户代理必须忽略该元素的内容并通过URI检索脚本。

也就是说,您无法为src元素指定script 一个正文,并希望两者都有效...所以,请使用两个单独的script元素。

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

答案 1 :(得分:0)

您不能在引用的脚本标记中包含内联脚本。试试这个:

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

<script>
    $(document).on('click', '.myalertclass', function (e) {
        alert('Hello you');
    })
</script>