0

我试图了解 jquery 如何处理点击事件。所以我创建了一个简单的 mvc 3 应用程序,然后在视图中添加了一个按钮。我创建了一个简单的 js 文件。但是,当我单击它时,它不会弹出警报。

这是我在视图中的代码:

@{
ViewBag.Title = "Home Page";
}
<script src="../../Scripts/first.js"></script>
<h2>@ViewBag.Message</h2>

<div>
 <p style="text-align: center;">
            <input type="button" id="steps" name="steps" value="Next >" />
        </p>
</div>

这是我完整的js文件:

$("#steps").click(function () {
alert("hola!");
});

任何输入将不胜感激,因为我的 javascript/jquery 知识非常有限。

4

4 回答 4

0

您提到它是“完整”的 js 文件。

您需要将 jQuery 代码包装在一个.ready()方法周围:

$(document).ready(function() {    
  $("#steps").click(function () {
     alert("hola!");
  });
});
于 2013-08-01T17:25:34.347 回答
0

您需要使用这两个功能中的任何一个来确保文档已准备就绪

$(function() {

   // Code here...

});

或者

$(document).ready(function() {

   // Code here...

});

像这样

$(function(){

   $("#steps").click(function () {
      alert("hola!");
   });

});

文档:http ://api.jquery.com/ready/

如果您不这样做,则可能是click在元素尚不存在时添加事件。

PS:还要确保您实际上包含 jQuery

于 2013-08-01T17:26:14.467 回答
0

这可能是运行时错误。您的 JS 试图引用在浏览器读取代码时不存在的元素 - 您的button. 因此,为了解决这个问题,要么将该代码放在一个$(document).ready()函数中,要么将其放在页面底部

于 2013-08-01T17:27:05.057 回答
0

你的 javascript 是正确的。http://jsfiddle.net/FMy65/

您是否正确加载了 jQuery?您需要加载 jQuery 库才能使用它。您可以通过<script type='text/javascript' src='http://ajax.googleapis.com/ajax/libs/jquery/1.10.1/jquery.min.js'></script>在页面顶部添加来做到这一点。那是使用 CDN(脚本托管在其他地方),或者您可以下载它并将其托管在您的服务器上(http://code.jquery.com/)。

于 2013-08-01T17:36:53.547 回答