刷新之前Jquery Mobile Onclick事件不起作用

时间:2012-07-29 17:48:12

标签: javascript jquery jquery-ui jquery-mobile

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

这是功能:

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

这是onclick事件:

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

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

4 个答案:

答案 0 :(得分:1)

如果您正在做的话,可以尝试不使用函数。

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

您还可以尝试在jQuery中添加click事件

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

编辑1

从spookycoder建议的问题:

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

答案 1 :(得分:0)

这对我有用(特别是在iPhone / iPad上):

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

答案 2 :(得分:0)

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

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

<a href="signup.html" target="_self" data-role="button" data-icon="arrow-r" data-iconpos="notext" data-theme="a" data-inline="true">Signup</a>

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

答案 3 :(得分:0)

我认为你必须使用:

$(document).on('pageinit',function(){ 

//Some Code

});

而不是:

$(document).ready(function (){

//Some Code

});