单击按钮时调用脚本

时间:2010-11-24 10:31:39

标签: javascript jquery browser jquery-mobile

在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浏览器 - 显示错误加载页面对话框?

2 个答案:

答案 0 :(得分:4)

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

尝试将jQuery代码包装在$(document).ready(function(){ ... })或其简写别名jQuery(function(){})

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

答案 1 :(得分:0)

问题是由于调试语句,如

  

调试器;

     

debug.info(....)

Firefox / Firebug理解

Fennec&amp ;; 导致问题 Opera Mobile浏览器