可能重复:
删除jQueryUI对话框上的关闭按钮?
我正在尝试创建一个对话框,要求用户在继续之前同意术语,并且不希望用户只需单击对话框右上角的"X"即可关闭.我想要求用户点击"我同意".
有没有办法禁用对话框中的'X'?
澄清:我只是使用标准的jQuery UI对话框:$ .dialog().
我正在尝试在我的页面上选择一个具有特定类和ID的HTML元素.这是标签:
<div class="statusLight" id="green"></div>
Run Code Online (Sandbox Code Playgroud)
我试了这个没有运气:
$statusLight = $('.statusLight#green');
Run Code Online (Sandbox Code Playgroud)
我知道我可以简单地说
$statusLight = $('#green');
Run Code Online (Sandbox Code Playgroud)
但我试图找到一种方法来根据它的类来选择它.任何帮助,将不胜感激.
我遇到过需要在创建新对话框之前手动删除旧对话框的情况.在另一个线程中,建议使用以下方法:
$('.ui-dialog').empty().remove();
Run Code Online (Sandbox Code Playgroud)
我认为这可行,但我确实有其他对话框,我不想从DOM中删除,我认为这种方法将摆脱所有这些.使用Firebug检查页面显示,一旦JQuery从您提供的html中创建了一个对话框,它就会为它提供标准的包装器div,它们都具有相同的类.这些是:
ui-dialog ui-widget ui-widget-content ui-corner-all ui-draggable
Run Code Online (Sandbox Code Playgroud)
所以它们非常通用,并且很难找到关于外部包装类的独特特性.我正试图找到一种方法来只删除我想删除的对话框,并留下其他对话框.有任何想法吗?
在尝试创建对话框然后进行部分页面渲染时,我的JQuery对话框出现了工作流问题.我将尝试通过一个示例场景,并提前为长期问题描述道歉:
页面加载,我希望将html转换为JQuery对话框.对话框在document.ready(using .dialog())上创建,但autoOpen属性设置为false.当JQuery创建对话框时(如果我使用Firebug来检查页面),对话框html实际上是从它的正常位置剥离并停留在文档的最末端,周围有一些包装类.用户通过单击刚才执行的链接打开对话框$dialogDiv.dialog('open').
所以一切正常.问题是我有时会使用AJAX(使用ASP.NET MVC RenderPartial)进行部分页面重新加载.我正在刷新的页面部分恰好包含了所有的对话框html,因此会重新写出来.但请记住,对话框(包含所有JQuery包装类等)已经存在于文档的底部.那个html不是页面刷新的一部分,所以现在我坚持使用两组对话框html.这给了我各种各样的问题,因为我在页面上有重复的id,并且这些html元素上的jQuery行为变得不可预测.当我开始进行3,4,5个部分页面刷新时,情况更糟,因为那时我有3组,4组,5组对话框html(在document.ready上只有一个真正的对话框).
我想我可能需要在某些时候破坏对话框或某些东西,但我对这种方法没有任何好运.有没有人有任何想法?
非常感谢.