gpt4 book ai didi

jquery - 自定义 jQuery UI 对话框

转载 作者:行者123 更新时间:2023-12-01 00:58:02 26 4
gpt4 key购买 nike

为了学习 jQuery UI 对话框,我定义了下面的代码。

我需要完成以下三项任务

1)使用我的图像作为“确定”按钮和“取消”按钮

2)使用我的自定义图像作为对话框右上角的关闭按钮

3)整个对话框的背景应该是“灰色”(包括标题和“确定”按钮的位置。)

重要的一点是样式应该仅应用于我的对话框。所有其他小部件应该具有默认行为。对于内容区域,我可以使用#myDiv.ui-widget-content 来实现。

您能为此建议代码吗?

注意:如果可能,请使用最佳实践。 (例如 1. 使用变量 $myDialog 2. 使用 autoOpen: false)

<html xmlns="http://www.w3.org/1999/xhtml">

<head id="Head1" runat="server">
<title> </title>

<script type="text/javascript" src="http://ajax.aspnetcdn.com/ajax/jquery/jquery-1.4.4.js"></script>

<script type="text/javascript" src="http://ajax.aspnetcdn.com/ajax/jquery.ui/1.8.6/jquery-ui.js"></script>


<link href="http://ajax.aspnetcdn.com/ajax/jquery.ui/1.8.13/themes/redmond/jquery-ui.css" rel="stylesheet"
type="text/css" />


<link href="Styles/OverrideMyDialog.css" rel="stylesheet"
type="text/css" />-



<script type="text/javascript">

$(document).ready(function () {
var $myDialog = $(".addNewDiv").dialog(
{
autoOpen: false,
title: 'My Title',
buttons: { "OK": function () {
$(this).dialog("close");
ShowAlert();
return true;
},
"Cancel": function () {
$(this).dialog("close");
return false;
}
}

}
);





$('#myOpener').click(function () {
return $myDialog.dialog('open');


});
});

function ShowAlert() {
alert('OK Pressed');
}

</script>

<body>
<div>
<input id="myOpener" type="button" value="button" />
</div>
<div class="addNewDiv" id="myDiv" title="Add new Person" >
<table>
<tr>
<td>
Name
</td>

</tr>
<tr>
<td>
Age
</td>

</tr>
</table>
</div>
</body>
</html>

此外,我还创建了一个 css 类来覆盖仅适用于我的对话框的小部件功能

    /*
*File Name: OverrideMyDialog.css
* jQuery UI CSS is overriden here for one div
*/


/* Component containers
----------------------------------*/

#myDiv.ui-widget-content
{
border: 5px solid Red;
background: Gray url(images/ui-bg_inset-hard_100_fcfdfd_1x100.png) 50% bottom repeat-x;
color: Green;
}

最佳答案

我已经对上面的答案投了赞成票。还是dialogClass:“myDialogCSS”是我正在寻找的键。

HTML 和 jQuery

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
<script type="text/javascript" src="http://ajax.aspnetcdn.com/ajax/jquery/jquery-
1.4.4.js"></script>
<script type="text/javascript"
src="http://ajax.aspnetcdn.com/ajax/jquery.ui/1.8.6/jquery-ui.js"></script>
<link href="http://ajax.aspnetcdn.com/ajax/jquery.ui/1.8.13/themes/Sunny/jqueryui.
css"
rel="stylesheet" type="text/css" />
<link href="Styles/MyStyleSheet.css"
rel="stylesheet" type="text/css" />

<script type="text/javascript">
$(document).ready(function () {
var $myDialog = $(".addNewDiv").dialog(
{
modal: true,
autoOpen: false,
dialogClass: 'myDialogCSS',
title: 'My Title',
closeOnEscape: false,
open: function(event, ui)
{
//Disable OK Button
$(".ui-dialog-buttonpane
button:contains('OK')").attr("disabled", true).addClass("ui-state-disabled");
},
buttons: { "OK": function ()
{
$(this).dialog("close");
ShowAlert();
return true;
},
"Cancel": function ()
{
$(this).dialog("close");
return false;
}
}
}
);
$('#myOpener').click(function ()
{
return $myDialog.dialog('open');
});
});
function ShowAlert() {
alert('OK Pressed');
}
</script>
</head>

<body>
<div>
<input id="myOpener" type="button" value="button" />
</div>
<div class="addNewDiv" id="myDiv" title="Add new Person">
<table>
<tr>
<td>Name

</td>
</tr>
<tr>
<td>Age
</td>
</tr>
</table>
</div>
</body>
</html>

MyStyleSheet.css

   /*Title Bar*/
.myDialogCSS .ui-dialog-titlebar
{
/*Hide Title Bar*/
/*display:none; */
}

/*Content*/
.myDialogCSS .ui-dialog-content
{
font-size:30px;
}

关于jquery - 自定义 jQuery UI 对话框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9160741/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com