对话框不会出现

时间:2019-04-05 07:13:29

标签: javascript jquery jquery-ui

我想在单击按钮时显示一个对话框,但无法正常工作。 这是我的代码:

<!DOCTYPE html>
<html lang="en">
<head>
<title>Example</title>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<script
    src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js">
    
</script>
<script type="text/javascript"
    src="https://ajax.googleapis.com/ajax/libs/jqueryui/1.11.1/jquery-ui.min.js"></script>
</head>
<body>

    <button id="myButton">click!</button>

    <div id="dialog" title="Dialog box">My content</div>

    <script type="text/javascript">
        $(document).ready(function() {
            $(function() {
                
                $("#dialog").dialog({
                    autoOpen: false,
                    modal: true
                });
                
                $("#myButton").on("click", function(e) {
                    e.preventDefault();
                    $("#dialog").dialog("open");
                });
                
            });
        });
    </script>
</body>
</html>

这是我单击按钮后发生的情况。应该在对话框中的文本显示为常规文本,并带有“关闭”按钮。

Image showing the problem

1 个答案:

答案 0 :(得分:0)

<head>区域中导入样式表。这将使其样式看起来像示例https://jqueryui.com/dialog/#default

<link rel="stylesheet" type="text/css" href="https://code.jquery.com/ui/1.12.1/themes/base/jquery-ui.css">

您可以通过添加

进一步设置样式
...
$("#dialog").dialog({



    classes: {
      "ui-dialog": "stylethisclass",        // style these classes in CSS
      "ui-dialog-titlebar": "alsotitlebar", 
      "ui-dialog-content": "alsobody"       
    },



    autoOpen: false,
    modal: true
});
...

这是所有细节的工作方式:http://api.jqueryui.com/dialog/#option-classes