在jquery移动网页中,我想调用jsp的HEAD部分中脚本标记内定义的脚本。
<head>
<link rel="stylesheet" type="text/css" href="jquerymobile/jquery.mobile-1.0a1.min.css" />
<script type="text/javascript" src="jquerymobile/jquery-1.4.3.min.js"></script>
<script type="text/javascript" src="jquerymobile/jquery.mobile-1.0a1.min.js"></script>
<script>
$("#button").click( function()
{
alert('button clicked');
}
);
</script>
</head>
<body>
<html:errors/>
<div data-role="page" data-theme='a'>
<div data-role="header">
<h1>jquerymobile</h1>
</div>
<div data-role="content">
<div id="button" data-role="button">Click on button</div>
</div>
</div>
</body>
点击按钮后,我希望警告显示。但是点击按钮时没有任何反应。
有人能告诉我哪里出错了吗?
EDIT1:
以下代码会在 Firefox &amp;中显示警告。 Opera桌面浏览器。
$(document).ready(function() {
$("#vbutton").click(function() {
alert("clicked");
});
});
<a id="vbutton" data-role="button">Click Button</a>
为什么不与 Opera Mobile &amp; Fennec浏览器 - 显示错误加载页面对话框?
答案 0 :(得分:4)
您的问题是您在$('#button')
存在之前正在搜索...
尝试将jQuery代码包装在$(document).ready(function(){ ... })
或其简写别名jQuery(function(){})
另一个选项是在按钮上包含click事件的初始化,直到DOM中存在#button
为止。换句话说,您可以将<script>
标记移到页面底部,它应该可以正常工作。
答案 1 :(得分:0)
问题是由于调试语句,如
Firefox / Firebug理解调试器;
debug.info(....)
, Fennec&amp ;; 导致问题 Opera Mobile浏览器。