【问题标题】:JQuery UI Dialog not displaying in IEJQuery UI 对话框未在 IE 中显示
【发布时间】:2012-10-08 10:24:09
【问题描述】:

您好,我有一个问题是 IE 中没有显示对话框

这是修改后的代码:

function setSpinnerDialog(text) {
var spinner = $('<div></div>').html(text +
"<img  id='loadingImage' src='../../Content/images/spinner.gif'/>").dialog({
    autoOpen: false,
    modal: true,
    height: 35,
    width: 160
});
return spinner;}


$('#imgVisitorEscortIds,#imgVisitingCardIds').click(function (e) {

 $spinnerDialog = setSpinnerDialog("loading... ");
 $spinnerDialog.dialog('open');

 //create list 
  $('#' + listId).selectBox();

//show dialog of list


 //close spinner
  $spinnerDialog.dialog('close');

在生成选择时(可能有 100 个名称),将显示一个加载对话框。这发生在所有浏览器中,但不是 IE。

任何建议

干杯

【问题讨论】:

  • 尝试将您的 DOM 就绪事件移动到您的 js 文件的末尾。最近我发生了一些类似的问题,并且移动解决了问题...
  • 您是否遗漏了一些代码?你的函数setSpinnerDialog 没有返回对象,也没有关闭。
  • 在调用 setSpinnerDialog 并打开对话框之前尝试设置超时
  • selectBox() 同步吗?
  • 对话框没有暴露超时属性

标签: jquery internet-explorer dialog


【解决方案1】:

我以前遇到过类似性质的问题,但从未遇到过这个确切的问题。我发现 IE 有时会尝试变得有点太效率,并且会破坏事情。尝试在获得选择项之前稍作间隔,以确保对话框有时间显示....

//create list 
setTimeout(function () {
    $('#' + listId).selectBox();
}, 500);

【讨论】:

  • 谢谢 - 作为一种替代解决方案,它可以工作。只需立即显示 cardList 而不必打扰加载对话框。现在只需要很好地渲染 html
  • 如果您在 IE 尝试同时执行某些操作时遇到问题,并且其中一些似乎无法正常工作,请添加延迟!这是我在 IE 失败时尝试的第一件事。很高兴它有帮助:)
  • 作为进一步的更新,我最终使用 mousedown 和 mouseup 事件在显示卡片列表之前显示加载对话框。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2015-03-31
  • 2021-08-13
  • 1970-01-01
  • 2014-08-22
  • 2010-09-28
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多