首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >纹理区域不能在IE7中渲染

纹理区域不能在IE7中渲染
EN

Stack Overflow用户
提问于 2010-09-28 21:39:51
回答 2查看 212关注 0票数 0

由于某种原因,我的文本无法在IE7中显示。我在一个表单中使用了复选框,当它们单击时,它会调用一个javascript函数来打开相应的文本区。它在其他所有主浏览器中都能正常工作,但在IE7中就不行。

下面是我使用的代码示例。

HTML:

代码语言:javascript
复制
<input name="areasOfConcern1" type="checkbox" id="concern1" value="Frequently misses classes" onClick="checkedTest('concern1', 'concern1Text')" onblur="checkedTest('concern1', 'concern1Text')" />
 Attendance
 <div id="concern1Text" style="visibility:hidden;position:absolute;display:none;">
 <textarea  onfocus="removeText(this)" onblur="addText(this)" cols="90" name="areasOfConcern1Text" id="areasOfConcern1Text">Comments...</textarea>
</div>

JS函数:

代码语言:javascript
复制
function checkedTest(checkBox, divId)
{
 box = eval("document.getElementById(checkBox)");
 div = eval("document.getElementById(divId)");
 if(box.checked == true)
 {
  div.style.visibility="visible";
  div.style.display="block";
  div.style.position="relative";
 }
 else
 {
  div.style.visibility="hidden";
  div.style.display="none";
  div.style.position="absolute";
 }
}

有没有关于如何让它工作的想法?

谢谢你,乔希

EN

回答 2

Stack Overflow用户

发布于 2010-09-28 21:45:09

可能是可见度和显示,或者你的位置是问题所在?读了几遍之后,我没有在代码中发现任何问题。当我想要切换元素时,我只使用display属性,这对我来说很好,在IE中也是如此。

票数 1
EN

Stack Overflow用户

发布于 2010-09-28 21:50:12

这个问题似乎是由于设置了div.style.position造成的,尽管我不确定是为什么。从concern1Text中删除position样式并删除相关的js赋值状态似乎可以解决这个问题。

只要我们在修复问题,你的方法的前两行就不应该使用eval。它们可以以以下形式编写

代码语言:javascript
复制
box = document.getElementById(checkBox); 
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3813302

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档