当用户点击太快时,为什么jQuery Mobile Simple Dialogue会冻结?

时间:2012-03-22 03:13:51

标签: javascript jquery jquery-plugins jquery-mobile

我正在使用simpledialog2在我的jQuery Mobile应用程序中创建对话框。

至少在谷歌浏览器中,如果用户通过单击其中一个列表视图项打开对话框,关闭它,并立即打开另一个对话框,则当用户单击列表项时,对话框将不再打开。

这是jsFiddle

为什么?

这是我的HTML。

<ul data-role="listview">
    <li><a href="#">foo</a></li>
    <li><a href="#">bar</a></li>
    <li><a href="#">baz</a></li>
</ul>​

和Javascript。

$(function() {

    // When user clicks on a list item, produce a dialogue/alert box.
    $('[data-role="listview"] a').click(function(event) {
        event.preventDefault();
        $('<div>').simpledialog2({
                mode: 'blank',
                headerText: "Popup title",
                headerClose: true,            
                dialogForce: true,
                blankContent: 
                "My message to you."
        });
    });
});

1 个答案:

答案 0 :(得分:0)

使用常规jQuery和jQuery mobile编写之间的主要区别之一是您使用

$(document).bind('pageinit', function() {
  // code here
});

而不是

$(function() { 
  // code here
});

不确定如何解决您的具体问题,但一个好的开始就是更改您为jquery mobile编写的网站加载代码的时间。