在母版页中,我有以下代码:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title>@ViewBag.Title</title>
<link href="@Url.Content("~/Content/Site.css")" rel="stylesheet" type="text/css" />
<link href="@Url.Content("http://code.jquery.com/mobile/1.0rc2/jquery.mobile-1.0rc2.css")" rel="stylesheet" type="text/css" />
<script src="@Url.Content("http://ajax.aspnetcdn.com/ajax/jQuery/jquery-1.6.4.min.js")" type="text/javascript"></script>
<script src="@Url.Content("http://code.jquery.com/mobile/1.0rc2/jquery.mobile-1.0rc2.js")" type="text/javascript"></script>
<meta name="viewport" content="width=device-width, initial-scale=1">
</head>
<body>
@RenderBody()
</body>
</html>
然后在Index.cshtml中我有以下代码:
@{
ViewBag.Title = "Index";
}
<h2>
Index</h2>
<div data-role="page">
<div data-role="header">
...</div>
<div data-role="content">
<a id="btnShowCustomers" data-role="button" href="#secondDiv"></a>
</div>
<div data-role="footer">
...</div>
</div>
<div id="secondDiv" data-role="page">
<div data-role="content">
</div>
</div>
<script type="text/javascript">
(document).ready(function (event) {
$('#btnShowCustomers').bind('click', function (event) {
GetCustomers();
});
});
function GetCustomers() {
var webMethod = "Home/GetCustomers";
$.ajax({
type: "POST",
contentType: "application/json; charset=utf-8",
url: webMethod,
data: "{}",
dataType: "json",
success: function (dataObj) {
alert('lala');
}
});
}
</script>
使用Firebug进行调试时出现以下错误:
document.ready不是一个功能 [打破此错误](文件).ready(功能(事件){
怎么可能?在文档准备好之后,我想注册按钮点击事件的处理程序..有什么建议吗?
答案 0 :(得分:3)
(document).ready(function (event) {
应该是
$(document).ready(function (event) {
答案 1 :(得分:1)
应为$(document).ready(function (event) ...
请注意前缀为字符串开头的美元符号 - 尽管此可以不同,但jQuery代码通常使用此前缀来访问其选择器的上下文等等。
有关使用jQuery的一些信息,请参阅this page。
答案 2 :(得分:1)
你错过了$
$(document).ready(function (event) {
答案 3 :(得分:1)
(document).ready(function (event) {
$
之前您没有jQuery
或(document)
,它认为它直接在ready
对象上调用document
。 ready
是一个jQuery快捷方式,而不是DOM方法。
答案 4 :(得分:0)
如果你这样包含JQuery
:
<script src="http://ajax.microsoft.com/ajax/jquery/jquery-1.4.1.min.js" type="text/javascript"></script>
那么这应该有效:
$(document).ready(function() {
// Handler for .ready() called.
});
答案 5 :(得分:0)
作为捷径,你也可以写
$(function(){
//your code
});
相当于写作
$(document).ready(function(){
//your code
});