IE8 中的 RadTreeView Telerik 2007 问题解决方法?

发布于 2024-09-19 06:55:05 字数 1232 浏览 17 评论 0原文

我知道 - 2007 年已经过时了 - 但我现在无法切换到较新的控件。

我发现 TreeView 由于内部功能而在 IE8 中无法正确显示:

RadTreeView.AlignImage=function(_4e){
_4e.align="absmiddle";
_4e.style.display="inline";
if(!document.all||window.opera){
if(_4e.nextSibling&&_4e.nextSibling.tagName=="SPAN"){
_4e.nextSibling.style.verticalAlign="middle";
}
if(_4e.nextSibling&&_4e.nextSibling.tagName=="INPUT"){
_4e.nextSibling.style.verticalAlign="middle";
}

修复方法是:

RadTreeView.AlignImage=function(_4e){
_4e.align="middle";
_4e.style.display="inline";
if(!document.all||window.opera){
if(_4e.nextSibling&&_4e.nextSibling.tagName=="SPAN"){
_4e.nextSibling.style.verticalAlign="middle";
}
if(_4e.nextSibling&&_4e.nextSibling.tagName=="INPUT"){
_4e.nextSibling.style.verticalAlign="middle";
}

编辑:它似乎也在 .NET 程序集中用作ABSMiddle。上面的函数都是javascript函数。

但是如何在编译的 dll 中更改它呢?有什么办法可以修复dll中的这个问题吗?

我需要使用代码反射吗?或者有什么解决方法可以覆盖 AlignImage 函数吗?

编辑


一个快速而肮脏的修复是设置CSS(Edit2:这修复了树视图 - 但可能会导致输入和img html元素出现其他问题)

input
{
    vertical-align: middle!important;
}
img
{
    vertical-align: middle!important;
}

I know - 2007 is outdated - but I can't switch to the newer controls at the moment.

I've figured out that the TreeView is not showing properly in IE8 because of an internal function:

RadTreeView.AlignImage=function(_4e){
_4e.align="absmiddle";
_4e.style.display="inline";
if(!document.all||window.opera){
if(_4e.nextSibling&&_4e.nextSibling.tagName=="SPAN"){
_4e.nextSibling.style.verticalAlign="middle";
}
if(_4e.nextSibling&&_4e.nextSibling.tagName=="INPUT"){
_4e.nextSibling.style.verticalAlign="middle";
}

The fix would be:

RadTreeView.AlignImage=function(_4e){
_4e.align="middle";
_4e.style.display="inline";
if(!document.all||window.opera){
if(_4e.nextSibling&&_4e.nextSibling.tagName=="SPAN"){
_4e.nextSibling.style.verticalAlign="middle";
}
if(_4e.nextSibling&&_4e.nextSibling.tagName=="INPUT"){
_4e.nextSibling.style.verticalAlign="middle";
}

Edit: It seems to be used as absMiddle in the .NET assembly too. The above functions are javascript functions.

But how can I change this in the compiled dll? Is there any way to fix that in the dll?

Do I need to use code reflection? Or is there any workaround to override the AlignImage function?

Edit


A quick and dirty fix is setting a css (Edit2: this fixes the treeview - but might cause ohter issues with input and img html elements)

input
{
    vertical-align: middle!important;
}
img
{
    vertical-align: middle!important;
}

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

等数载,海棠开 2024-09-26 06:56:19

Andreas,我会跳转到 Telerik AJAX 树视图,因为我知道它完全支持 IE8,并且在发布后将支持 IE9。对于旧的树视图,您应该使用解决方法或设置 IE7 兼容模式以确保其正确呈现。

Andreas, I would jump to the Telerik AJAX treeview because I know it supports IE8 fully and will support IE9 when it is released. For the old treeview you should either use workarounds or set IE7 compatibility mode to make sure it will be rendered properly.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文