我在使用JQuery创建的对话框时出现问题。按下按钮时应该打开。我尝试了几种不同的创建方法,它总是在元素样式中使用“display:none”创建。
单击按钮时,页面变暗(“模态”部分),但对话框未显示。如果我使用firebug删除display:none属性,则对话框会正确显示。
我之前创建了几个对话框没有任何问题,我认为这一定是我正在尝试创建对话框的特定网站的问题。它在CMS中有很多事情发生。我已经尝试过评论包含的其他脚本,但没有帮助。
关于可能导致此问题的任何想法?网站上是否存在会导致新元素不可见的内容?或者会导致jquery添加此属性的东西?
我试过了:
1)在页面加载时创建div,使用autoOpen:false创建对话框,并设置按钮单击事件以调用对话框打开。
2)单击按钮时创建对话框(即(“text”.dialog(...)
3)在任何一种情况下,在对话框打开事件后将显示设置为内联
以上是(1)的实现:
$(document).ready(function() {
$('body').append('<div id="win_dialog">test</div>');
$('#win_dialog').dialog({
modal: true,
autoOpen: false,
show: "fade",
hide: "fade",
width: "auto",
height: "auto",
close: function(event, ui) {
$("#win_dialog").remove();
},
buttons: {
"Enter": function () {alert('works');},
"Cancel": function () { $(this).dialog("close");}
}
});
$('#enter_win_btn').click(function() {
$("#win_dialog").dialog('open');
});
});
谢谢!
答案 0 :(得分:1)
感谢AlienWebguy对版本号的请求,我意识到我正在使用jquery-ui 1.8.4和版本1.8.10的css。我将jquery-ui的脚本标签更新为1.8.10,现在一切似乎都有效。
感谢大家的帮助!这个网站的资源非常棒。
答案 1 :(得分:0)
CMS应该有一个css规则,覆盖对话框上的display:none。在每个包含的样式中检查firebug的css面板中的对话框类和id。一些CMS有类名冲突,我有一个wordpress主题一次这个问题。
此外,是否有任何控制台错误?