【问题标题】:Jquery Mobile Onclick event does not work before refreshJquery Mobile Onclick 事件在刷新前不起作用
【发布时间】:2012-07-29 17:48:12
【问题描述】:

我创建了一个带有 onclick 事件的按钮,该按钮运行一个提醒 "hi" 的函数。 onclick 事件只有在我刷新页面时才有效。

函数如下:

function testme(){
   alert("test");
}

这里是 onclick 事件:

<a href="#" id="someid" onClick="testme()">Button</a>

如何在不刷新页面的情况下使 onclick 事件生效?

【问题讨论】:

标签: javascript jquery jquery-ui jquery-mobile


【解决方案1】:

如果你只是这样做,你可以尝试不使用函数。

<a href="#" id="someid" onClick="alert('hi')">Button</a>

您也可以尝试在 jQuery 中添加点击事件

$(document).ready(function(){
 $('#someid').click(function(event){
    event.stopImmediatePropagation();
    event.preventDefault();
    alert('hi')
 });
});

编辑 1

来自 spookycoder 建议的问题:

您也可以在 a 标签上使用rel="external",这将允许它在 jQuery Mobile 页面上正常执行。

【讨论】:

  • 是的,但我还有一些其他的函数,带有值和长函数。我必须使用调用函数。你 seggested 的工作。但是如果我调用一个函数而不是警告它不起作用。我该怎么办?我需要调用函数。警报工作正常,但不能调用函数。
  • 那我建议你使用click事件。
  • 是的,但是当我试图调用一个函数来做某事时它不起作用
  • 这些按钮是动态添加的吗?
  • “动态”是什么意思?对不起,我的英语不是最好的。
【解决方案2】:

这对我有用(尤其是在 iPhone/iPad 上):

  <a href="javascript:testme()" id="someid">Button</a>

【讨论】:

    【解决方案3】:

    我通过更改加载页面的方式来解决此问题。 我将 target="_self" 放入 href 元素中,因此它不会使用 # 系统加载 - 这样,在从一个页面导航到另一个页面时,javascript 会在初始页面加载时加载。 p>

    • 我会将以下链接放在我的 index.html 页面上,该页面将导航到我的 signup.html 页面。

    &lt;a href="signup.html" target="_self" data-role="button" data-icon="arrow-r" data-iconpos="notext" data-theme="a" data-inline="true"&gt;Signup&lt;/a&gt;

    注意:您将失去“花哨”的 jQuery Mobile 页面转换功能

    【讨论】:

      【解决方案4】:

      我认为你必须使用:

      $(document).on('pageinit',function(){ 
      
      //Some Code
      
      });
      

      而不是:

      $(document).ready(function (){
      
      //Some Code
      
      });
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2016-07-17
        • 2015-05-17
        相关资源
        最近更新 更多