0

在 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>

单击按钮时,我希望显示警报。但是单击按钮时没有任何反应。

有人可以告诉我哪里出错了吗?

编辑1:

以下代码在FirefoxOpera 桌面浏览器中显示警报

  $(document).ready(function() {
      $("#vbutton").click(function() {
          alert("clicked");
      });
  });


  <a id="vbutton" data-role="button">Click Button</a>

Opera MobileFennec 浏览器无法使用的任何原因- 它显示错误加载页面对话框?

4

2 回答 2

4

你的问题是你$('#button')在它存在之前搜索......

尝试将您的 jQuery 代码包装在 a$(document).ready(function(){ ... })或其速记别名中jQuery(function(){})

另一个选项是在按钮上包含单击事件的初始化,直到#button在 DOM 中存在之后。换句话说,您可以将<script>标签移动到页面底部,它应该可以工作。

于 2010-11-25T14:25:50.047 回答
0

问题是由于调试语句如

调试器;

调试信息(....)

Firefox/Firebug 可以理解,但在Fennec 和 Opera Mobile 浏览器中引起了问题

于 2010-11-29T13:21:48.557 回答