在Safari中,jQuery Mobile对话框打开不正确

时间:2013-06-16 20:41:55

标签: javascript jquery jquery-mobile jquery-mobile-dialog

我遇到了jQuery Mobile对话框的问题。何时第一次加载页面(在JQM初始化之后),之后当我单击对话框按钮(打开对话框)时,对话框打开不正确。而不是包含到DOM中,对话框页面作为新页面打开。那只在Safari浏览器中发生 。有任何相同的问题,或任何想法如何解决它?谢谢。

的index.html

...
    <div>
        <a href="dialog.html" data-rel="dialog" data-role="button">open dialog</a>
    </div>
...

dialog.html

    <!DOCTYPE html> 
    <html>
    <head>
        <meta charset="UTF-8">
        <title>Přidat rezervaci</title>
    <body> 
      <div data-role="page" id="reservation-form" data-close-btn="right" data-history="false">
         <!-- some next code -->
      </div>
    </body>
    </html>

jQuery Mobile配置:

$.event.special.swipe.horizontalDistanceThreshold = 70;
$.event.special.swipe.scrollSupressionThreshold  = 40;
$.mobile.defaultPageTransition = 'none';
$.mobile.defaultDialogTransition = 'none';
$.mobile.useFastClick = true;

jQuery版本:1.9.1 jQuery移动版:1.3.1

这是预览:

enter image description here

1 个答案:

答案 0 :(得分:0)

我解决了这个问题。这是由移动设备的<audio>元素黑客造成的。

$(document).one("click", "body", function(){
 play(true);
 return false;
});

function play(first){
var a =  $("#audio");
if(a.length !== 0){
    a = a[0];
    if(first){
        a.currentTime=a.duration-.01;
        a.play();
        a.load();
    }else{
        a.play();
    }
}
return false;
}