JQuery对话框“打开”无法正常工作

7

以下是一个示例http://jsfiddle.net/mUpjw/15/

在我的一些旧代码中,我使用的是JQuery 1.2版本,它是通过这种方式打开对话框的。

$('#myDiv').dialog('open');

我升级了jQuery 1.6.1,它能够正常运行。但是如果我添加一个DOCTYPE,它就无法工作,但是如果我这样做:
$('#myDiv').dialog();

这很好。

这可能是什么原因?


@AlienWebguy http://jsfiddle.net/mUpjw/15/ - Pit Digger
2个回答

6
你需要设置你的对话框。
<div id="dialog_link">click here</div>
<div id="mydiv" style="display:none;">This is some document here.Will be shown as used 'open'</div>
<div id="mydiv2" style="display:none;">This is some document here</div>

$(document).ready( function(){

$('#mydiv').dialog({
    autoOpen: false,
    width: 600,
    buttons: {
        "Ok": function() {
            $(this).dialog("close");
        },
        "Cancel": function() {
            $(this).dialog("close");
        }
    }
});

$('#dialog_link').click(function() {
    $('#mydiv').dialog('open');
    return false;
});

有趣的事实是,当$('#mydiv').dialog({..})在.ready()之外时,它不会打开。当我把它移到里面时,一切都开始按预期工作了。想象一下。谢谢@Caimen - Califf

0

这是一个选项,应该在初始化对话框之后使用。

$('#mydiv').dialog({autoOpen: false});
// now you can call it with 'open' to actually show it..
$('#myDiv').dialog('open');

演示请访问http://jsfiddle.net/gaby/mUpjw/16/

区别在于jQuery UI版本,而不是jQuery库


我曾经遇到过同样的问题,这个答案解决了我的问题。谢谢。 - Kailash Chandra Polai

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接