为什么我的simpledialog2无法在我的jQuery Mobile代码段中运行?

时间:2012-03-21 07:33:14

标签: javascript jquery jquery-plugins jquery-mobile

每次用户点击列表视图无序列表中的链接时,都会出现一个simpledialog2框。这是simpledialog2文档的链接。这是一种支持jQuery Mobile应用程序中的popbox的流行方式。 http://dev.jtsage.com/jQM-SimpleDialog/demos2/index.html

但是,我的代码中没有显示对话框。为什么呢?

这个小提琴包含我的代码。 http://jsfiddle.net/ykHTa/2/

这是我的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,
                blankContent: 
                "My message to you."
        });
    });
});

2 个答案:

答案 0 :(得分:2)

大卫,你的javascript示例在这里缺少一个右括号:

       });
    }); // - close click binding
});

更新

我将它添加到您的simpledialog2方法调用中,在您的示例(jsfiddle)中使用它:

dialogForce: true,

根据此处的文档:http://dev.jtsage.com/jQM-SimpleDialog/demos2/dialog.html

希望这有帮助!

答案 1 :(得分:1)

尝试通过函数调用替换调用?..我遇到同样的问题而且 在委托中调用函数似乎工作..

$(function() { 
    // When user clicks on a list item, produce a dialogue/alert box. 
    $('[data-role="listview"] a').click(function(event) { 
        event.preventDefault(); 
        fn();
    }); 
}); 

function fn() {
    $('<div>').simpledialog2({ 
        mode: 'blank', 
        headerText: "Popup title", 
        headerClose: true, 
        blankContent:  
        "My message to you." 
    }); 
}

... simpledialog2 ssem更好地在ajax .success处理程序中工作????