我使用jquery mobile创建移动网页。我定义了一个按钮和一个onclick事件。执行onclick功能后,我的页面会自动刷新。有谁知道为什么会这样或者我怎么能阻止它?
我的按钮声明:
<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");
}
我收到提醒,然后页面刷新。
答案 0 :(得分:2)
我们需要代码才能找到答案。你能以任何方式为我们提供现场演示吗?
您可能忘记在onclick事件结束时返回false。忽略false的返回将使浏览器无论如何都执行链接的href,这可能显示为页面重新加载。
正如我所说,看到实例,将返回false 添加到
您的 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>
答案 1 :(得分:2)
将return false;
添加到BtnRatePressed()
的末尾,以便点击甚至不会传播,也不会导致表单提交。
修改:另外,将您的属性更改为onclick="return BtnRatePressed();"
答案 2 :(得分:1)
问题是你正在使用一个实际的按钮,这导致表单动作,你可以通过使用这样的超链接按钮完成同样的事情,并避免问题......
<a href="javascript:BtnRatePressed();" data-role="button" id="rateButton" data-theme="a" data-icon="star" data-iconpos="right">Rate</a>