Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/78.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/css/33.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jquery 用Dynatree包装文件夹_Jquery_Css_Internet Explorer_Dynatree - Fatal编程技术网

Jquery 用Dynatree包装文件夹

Jquery 用Dynatree包装文件夹,jquery,css,internet-explorer,dynatree,Jquery,Css,Internet Explorer,Dynatree,我在我的网站上安装了dynatree 1.2.4,以显示电子邮件存档解决方案中的一系列文件夹。这些文件夹通过AJAX检索,然后在调用dynatree代码之前格式化 function folders_loaded(json) { $("#folder_list").html("<ul id=\"folder_list_ul\"></ul>"); for (folder in json.allfolders) { processFolder(json.allf

我在我的网站上安装了dynatree 1.2.4,以显示电子邮件存档解决方案中的一系列文件夹。这些文件夹通过AJAX检索,然后在调用dynatree代码之前格式化

function folders_loaded(json) {
  $("#folder_list").html("<ul id=\"folder_list_ul\"></ul>");
  for (folder in json.allfolders) {
    processFolder(json.allfolders[folder], "folder_list_ul")
  }

  $("#folder_list").dynatree({
      onActivate: function (node) {
          //do stuff here
      },
      onClick: function (node, event) {
          //do stuff here
      }
  });
}
function processFolder(folder, target_id) {
  //console.log(JSON.stringify(folder));
  var fid = folder.folder_id;

  $("#" + target_id).append("<li id=\"folder_id_" + fid + "\"  class=\"folder\" data=\"folder_id: " + fid + "\">" + folder.name);
  $("#folder_id_" + folder.folder_id).append("<ul id=\"folder_list_" + fid + "\"></ul>")
  for(f in folder.folders) {
    processFolder(folder.folders[f],"folder_list_" + fid);
  } 
  $("#" + target_id).append("</li>");  
}
文件夹列表div的CSS如下所示

#folder_list 
{
  position:absolute;
  top:0;
  left:0;
  width:150px;

  height:100%;
  z-index:10;
  white-space:nowrap;
}
这些文件夹在Chrome中渲染得很漂亮,但在IE中,名称相对较长的文件夹会换行到下一行

左边的图片显示了我在IE中看到的内容,而右边的屏幕截图显示了Chrome

我还尝试将
空白:nowrap
添加到文件夹\u list div的列表项中

#folder_list, #folder_list li
{
  white-space:nowrap;
}

有人在IE中看到过这种行为吗?您是如何解决这个问题的?

增加宽度,然后再试一次

#folder_list 
{
  width:180px; 
}

我终于找到了答案。我不得不把它添加到我的CSS文件中

ul.dynatree-container li>span 
{
  display:inline-block !important;
  white-space:nowrap;
}

显示部分似乎是解决此问题的最大关键。

您能发布函数processFolder的代码吗?我已经添加了函数以及JSON数据示例。尝试用给定的代码复制您的问题,但在IE10和Chrome中都得到了相同的结果。我注意到上面的IE浏览器有一个水平滚动条,这表明x溢出没有被隐藏。你用IE的时候也是这样吗?还有,你用的是什么版本的IE?我用的是IE9。我发现了一个使用类似代码的JSFIDLE站点,它在那里工作。我能想到的唯一区别是,这是在SharePoint上部署的,可能有一些奇怪的SharePoint CSS覆盖了空白CSS设置。谢谢。但是,增加宽度不是一个选项。
ul.dynatree-container li>span 
{
  display:inline-block !important;
  white-space:nowrap;
}