我知道这个话题众所周知,但我发现的所有解决方案都无法解决我的问题。我试图为此创建一个小提琴,但似乎我没有正确设置它的专有技术:http://jsfiddle.net/tMKD3/6/。我简化了代码以更简化地演示问题。
所以我在这里描述它,我希望它是可以理解的。我有一个jQuery Mobile页面和一个对话框。使用 onMouseUp 事件时,应调用javascript函数,该函数执行某些操作并打开对话框。对话框应保持打开状态,直到单击关闭按钮,然后再次显示开始页面。在我的情况下,对话框立即关闭。
这里是HTML代码:
<body>
<div data-role="page" id="start" data-theme="e">
<div data-role="header" data-position="fixed" data-theme="e">
<h1 id="startHeader"></h1>
</div>
<div data-role="content">
<a href="#page" id="buttonP1" onMouseUp="setup()" data-iconpos="right" data-role="button" data-prefetch data-mini="true"></a>
<a href="#page" id="buttonP2" onMouseUp="setup()" data-iconpos="right" data-role="button" data-prefetch data-mini="true"></a>
<a href="#page" id="buttonP3" onMouseUp="setup()" data-iconpos="right" data-role="button" data-prefetch data-mini="true"></a>
</div>
</div>
<!-- Dialog -->
<div data-role="dialog" id="dialog" data-theme="e">
<div data-role="header" data-theme="e" data-position="fixed" data-close-btn="none">
<h3 id="dialogHeader"></h3>
</div>
<div data-role="content" data-theme="e">
<a href="#start" type="button" data-role="button" id="dialogButton" data-rel="back"></a>
</div>
</div>
这里是javascript代码:
$(document).ready(function(){
// set button text
$("buttonP1").text("Test");
$("buttonP2").text("Test");
$("buttonP3").text("Test");
});
function setup() {
// set dialog header text
$("dialogHeader").text("Dialog");
$("dialogButton").text("Close");
// call dialog and the dialog should stay opened until the close button is pressed
$.mobile.changePage('#dialog', {
transition: 'pop',
role: 'dialog'
});
return false;
// after calling the dialog I do some additional stuff like reset some counters and so on
}
在类似的文章中,我发现问题是遗忘的 return false; ,但这里没有帮助。有人知道我做错了什么,错误在哪里?
非常感谢您的帮助。
问候, 托马斯
答案 0 :(得分:1)
您可以暂停:
<script>
$(document).ready(function(){
// set button text
$("#buttonP1").text("Test");
$("#buttonP2").text("Test");
$("#buttonP3").text("Test");
});
function setup() {
// set dialog header text
$("#dialogHeader").html("Dialog");
$('#dialogButton').html('Close');
// call dialog and the dialog should stay opened until the close button is pressed
setTimeout(function () {
$.mobile.changePage('#dialog', {
transition: 'pop',
role: 'dialog'
});
}, 100);
return false;
// after calling the dialog I do some additional stuff like reset some counters and so on
}
</script>