问题描述
<script id='tmpl_sessions_active_host' type='text/x-jquery-tmpl'> <div class="remote-active-host" onclick="op_active_host_click('${code}')"> </div> </script> <div id="remote_activeconnection_menu"><div id="remote_active_host_list" onblur="active_host_list_onblur()"> </div> 先说功能onclick是完成一个链接,根据code链接到不同的主机,如图当Connection链接的时候 应该链接到另外一个页面上点击空白处,或者点击connection都会触发onblur,onblur是收回下拉list 最终理想的界面是如下图问题出在,当点Connecion时候,onclick不触发,所以不会出项上图的send的页面。直接跳过执行onblur,收回下拉list,截图如下这个问题在chrome,firefox,safari,opera等浏览器都没问题,只在IE7,IE8,IE9有问题。点10次,有8次链接不成功,TMD还成为一个概率事件。本来对JS合Jquery不熟悉,这次临时搞,一直没搞好。 问题补充:这不是我们写的 这是在改别人代码 看起来很乱 我们项目组也才刚看清头绪asyty 写道
解决方案
引用应该是长度和宽度的问题!经过我一番测试 在每个里面都点 之前点不出来的 还是可以成功的,必须点在正确的位置。哈哈,问题又来了,这个好改不?这个是指css的问题 容易的啊如果是要给span加宽度 要先把span设置为block,然后就可以设置宽度了style="display:inline-block;width:100%",display值在不同浏览器里不太一样,百度下就有怎么写的div就更容易了 直接style="width:100%"
解决方案二:
另外 ie6比较奇葩 "display:inline-block"在ie6底下可能有问题 可以试试display:block;
解决方案三:
看了下 line-height:220% 高度去掉 220%不知道会不会出问题
解决方案四:
这算完整的了 我那个是截取了一段内容 也就是说<div class="remote-active-host" onclick="op_active_host_click('${code}')"> 是放在<div id="remote_active_host_list" tabindex="0" style="display:none; margin-left:20px" onblur ="active_host_list_onblur()"> 这个div里面的喽有没有可能是list里面的remote-active-host的div的宽度问题或者是span的宽度问题,导致ie底下鼠标click的时候没有点中div?所以导致出现随机引用点10次,有8次链接不成功,TMD还成为一个概率事件
解决方案五:
我猜了猜,这个问题应该是IE的标签在加载触发事件的顺序和dom标准不一样不过你的代码不太完整,所以不知道div之间是怎么包含的。。。。。或者你干脆在onblur里调用onclick再给你个链接参考参考http://jiataodong.blog.163.com/blog/static/3490549220101030112219514/
解决方案六:
试试ie的 unselectable='on' 属性 行不行
解决方案七:
为啥要用onblur 用onmouthover onmouthout事件