2011-12-09 87 views
2

我使用jquery mobile創建手機網頁。我定義了一個按鈕和一個onclick事件。在執行onclick功能後,我的頁面會自動刷新。有誰知道爲什麼會發生這種情況,或者我可以如何阻止它?jquery手機按鈕自動刷新頁面

我的按鈕聲明:

<button id="rateButton" data-theme="a" data-icon="star" data-iconpos="right" onclick="BtnRatePressed();">Rate</button> 

功能:

function BtnRatePressed() { 
    var rateBtn = document.getElementById('rateButton'); 
    rateBtn.style.visibility = 'hidden'; 
    alert("yeh"); 

} 

我收到警報,然後刷新頁面。

回答

2

我們需要代碼才能找到。您可以通過任何方式向我們提供現場演示?

您可能忘記了在onclick事件結束時返回false。忽略false的返回將使瀏覽器無論如何都執行鏈接的href,這可能表現爲頁面重新加載。

正如我所說,看到活生生的例子,添加返回假要麼

BtnRatePressed功能

function BtnRatePressed() 
{ 
    var rateBtn = document.getElementById('rateButton'); 
    rateBtn.style.visibility = 'hidden'; 
    alert("yeh"); 
    return false; 
} 

或的onclick語句中。

<button id="rateButton" data-theme="a" data-icon="star" data-iconpos="right" onclick="BtnRatePressed(); return false;">Rate</button> 
+0

將其添加到工作標記感謝 – theNoobProgrammer

+0

哦,對。修正了我的答案。 –

2

添加return false;BtnRatePressed()結束,這樣的點擊甚至不被傳播,並不會導致表單提交。

編輯:此外,您的屬性更改爲onclick="return BtnRatePressed();"

+0

我試過了,但它不起作用 – theNoobProgrammer

1

的問題是,您使用的是實際的按鈕,並導致該形式的行動,您可以通過使用超鏈接按鈕,完成同樣的事情像這樣,並避免該問題...

<a href="javascript:BtnRatePressed();" data-role="button" id="rateButton" data-theme="a" data-icon="star" data-iconpos="right">Rate</a>