-
onclick和onblur先后10
<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 写道为啥要用onblur 用onmouthover onmouthout事件
问题补充:onmouthover onmouthout不行啊,你点上面的三角形图标,移动鼠标去点链接,还没开始点链接,list就消失了,没法点的。asyty 写道为啥要用onblur 用onmouthover onmouthout事件
问题补充:哪个位置加unselectable = 'on'houfeng0923 写道试试ie的 unselectable='on' 属性 行不行
问题补充:刚才是了onmouthout和onmouthover, 在空白处单击 哪个list不收回。asyty 写道为啥要用onblur 用onmouthover onmouthout事件
问题补充:嗯,应该是这个问题 我查阅了不少 也看到了这点 我这里onblur其实分两种情况,一种是下拉list出来后 点其他空白处,收回list;另一种是先onclick链接到其他页面,然后调用onblur收回list;所以不能直接调用asyty 写道我猜了猜,这个问题应该是IE的标签在加载触发事件的顺序和dom标准不一样
不过你的代码不太完整,所以不知道div之间是怎么包含的。。。。。
或者你干脆在onblur里调用onclick
再给你个链接参考参考http://jiataodong.blog.163.com/blog/static/3490549220101030112219514/
问题补充:谢谢你啊 我还在改asyty 写道我猜了猜,这个问题应该是IE的标签在加载触发事件的顺序和dom标准不一样
不过你的代码不太完整,所以不知道div之间是怎么包含的。。。。。
或者你干脆在onblur里调用onclick
再给你个链接参考参考http://jiataodong.blog.163.com/blog/static/3490549220101030112219514/
问题补充:<div>
.......
</div>
<#noparse>
<script id='tmpl_sessions_active_host' type='text/x-jquery-tmpl' >
<div class="remote-active-host" onclick="op_active_host_click('${code}')">
<span style="font-size:1.2em;color:#FFF;line-height:220%"> ${connection}</span>
</div>
</script>
</#noparse>
<div id="remote_activeconnection_menu">
<div id="remote_active_host_icon">
<span unselectable="on">
<img id="remote_active_icon_img" src="./images/arror_down.png" onclick="btn_activehost_icon_click()" />
</span>
</div>
<div id="remote_active_host_list" tabindex="0" style="display:none; margin-left:20px" onblur ="active_host_list_onblur()">
</div>
</div>
这算完整的了 我那个是截取了一段内容asyty 写道我猜了猜,这个问题应该是IE的标签在加载触发事件的顺序和dom标准不一样
不过你的代码不太完整,所以不知道div之间是怎么包含的。。。。。
或者你干脆在onblur里调用onclick
再给你个链接参考参考http://jiataodong.blog.163.com/blog/static/3490549220101030112219514/
问题补充:应该是长度和宽度的问题!经过我一番测试 在每个里面都点 之前点不出来的 还是可以成功的,必须点在正确的位置。哈哈,问题又来了,这个好改不?asyty 写道这算完整的了 我那个是截取了一段内容
也就是说<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还成为一个概率事件
问题补充:引用<#noparse>
<script id='tmpl_sessions_active_host' type='text/x-jquery-tmpl' >
<div class="remote-active-host" style="width:100%" onclick="op_active_host_click('${code}')">
<span style="style="display:inline-block;width:100%";font-size:1.2em;color:#FFF;line-height:220%"> ${connection}</span>
</div>
</script>
</#noparse>
这样修改后 问题还是存在asyty 写道引用应该是长度和宽度的问题!经过我一番测试 在每个里面都点 之前点不出来的 还是可以成功的,必须点在正确的位置。哈哈,问题又来了,这个好改不?
这个是指css的问题 容易的啊
如果是要给span加宽度 要先把span设置为block,然后就可以设置宽度了
style="display:inline-block;width:100%",display值在不同浏览器里不太一样,百度下就有怎么写的
div就更容易了 直接style="width:100%"
问题补充:<#noparse>
<script id='tmpl_sessions_active_host' type='text/x-jquery-tmpl' >
<div class="remote-active-host" style="width:100%" onclick="op_active_host_click('${code}')">
<span style="display:inline-block;width:100%;font-size:1.2em;color:#FFF;line-height:220%"> ${connection}</span>
</div>
</script>
</#noparse>
这样修改后 问题还是存在asyty 写道引用应该是长度和宽度的问题!经过我一番测试 在每个里面都点 之前点不出来的 还是可以成功的,必须点在正确的位置。哈哈,问题又来了,这个好改不?
这个是指css的问题 容易的啊
如果是要给span加宽度 要先把span设置为block,然后就可以设置宽度了
style="display:inline-block;width:100%",display值在不同浏览器里不太一样,百度下就有怎么写的
div就更容易了 直接style="width:100%"
问题补充:现在存在的问题是 list列表中
点上面的链接都正常,越往列表的下面,越难点到链接的问题
asyty 写道引用应该是长度和宽度的问题!经过我一番测试 在每个里面都点 之前点不出来的 还是可以成功的,必须点在正确的位置。哈哈,问题又来了,这个好改不?
这个是指css的问题 容易的啊
如果是要给span加宽度 要先把span设置为block,然后就可以设置宽度了
style="display:inline-block;width:100%",display值在不同浏览器里不太一样,百度下就有怎么写的
div就更容易了 直接style="width:100%"
问题补充:嗯 谢谢你啊 问题已经解决了 是这样的
active_host_list_onblur还是会先触发 后台js是这样写的
$('#remote_active_host_list').slideUp("fast", function(){
}
因为是slideUp,收回list 这样最后几个都来不及点 所以链接不上
我在<div id='tmpl_sessions_active_connection' class="remote-active-host" onclick="op_active_host_click('${code}')"> 设置了一个id在js判断
var active_host_list_onblur = function(){
if(document.activeElement.id!="tmpl_sessions_active_connection"){
$('#remote_active_host_list').slideUp("fast", function(){
remote.activeHost_icon = 0;
$('#remote_active_host_list').blur();
$('#remote_active_icon_img').attr("src","./images/arror_down.png")
});
}
};
如果点空白处,这段执行 直接收回list;
如果点了connection,onblur就相当于失效,不执行;然后执行onclick事件
var btn_activehost_icon_click = function() {
if($('.remote-active-host').length != 0){
if(remote.activeHost_icon == 0){
$('#remote_active_host_list').slideDown("fast", function(){
remote.activeHost_icon = 1;
$('#remote_active_host_list').focus();
$('#remote_active_icon_img').attr("src","./images/arror_up.png");
});
}
else {
$('#remote_active_host_list').slideUp("fast", function(){
remote.activeHost_icon = 0;
$('#remote_active_host_list').blur();
$('#remote_active_icon_img').attr("src","./images/arror_down.png");
});
}
}
else {
remote.activeHost_icon = 0;
$('#remote_active_icon_img').attr("src","./images/arror_down.png");
}
};
这样整个过程就OK了。非常感谢你的回答。
这个问题就在IE里面存在,IE6,7,8,9都有这个问题
asyty 写道看了下 line-height:220% 高度去掉 220%不知道会不会出问题
问题补充:你看下我的代码 粘贴的有点乱 不工整,那个$('#remote_active_host_list').blur()事件在conclick里面最后执行asyty 写道另外 ie6比较奇葩 "display:inline-block"在ie6底下可能有问题 可以试试display:block;
2011年11月22日 09:44
7个答案 按时间排序 按投票排序
-
采纳的答案
引用应该是长度和宽度的问题!经过我一番测试 在每个里面都点 之前点不出来的 还是可以成功的,必须点在正确的位置。哈哈,问题又来了,这个好改不?
这个是指css的问题 容易的啊
如果是要给span加宽度 要先把span设置为block,然后就可以设置宽度了
style="display:inline-block;width:100%",display值在不同浏览器里不太一样,百度下就有怎么写的
div就更容易了 直接style="width:100%"2011年11月22日 14:39
-
这算完整的了 我那个是截取了一段内容
也就是说<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还成为一个概率事件
2011年11月22日 13:45
-
我猜了猜,这个问题应该是IE的标签在加载触发事件的顺序和dom标准不一样
不过你的代码不太完整,所以不知道div之间是怎么包含的。。。。。
或者你干脆在onblur里调用onclick
再给你个链接参考参考http://jiataodong.blog.163.com/blog/static/3490549220101030112219514/2011年11月22日 11:14
相关推荐
下面小编就为大家带来一篇onclick和onblur冲突问题的快速解决方法。小编觉得挺不错的,现在分享给大家,也给大家做个参考
onblur事件,鼠标离开表单input框时触发的事件
JS:onfocus和onblur 事件应用举例
JavaScript的onfocus与onblur用法文章资源下载,供练习使用
onload事件 ,onclick事件,onblur失去焦点事件,onsubmit表单提交事件的使用示例
html页面中,诸如按钮、文本框等可视元素都具有拥有和失去焦点的事件,本文以文本框获得和失去焦点为例简单讲解onfocus和onblur的应用
本文以文本框获得和失去焦点为例简单讲解onfocus和onblur的应用。 一. onfocus(获得焦点事件) 当一个文本框获得焦点时,它里面的文本就像“好123”网站上的百度搜索输入框那样全部被自动选中,这样的操作可以...
OnFocus与OnBlur的例子,大家可以运行下,看下区别。
主要介绍了详解HTML onfocus获得焦点和onblur失去焦点事件的相关资料,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
下面小编就为大家带来一篇老生常谈onBlur事件与onfocus事件(js)。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
onblur 事件会在对象失去焦点时发生。 语法如下: 代码如下:onblur=”SomeJavaScriptCode” SomeJavaScriptCode 必需。规定该事件发生时执行的 JavaScript。 支持该事件的 HTML 标签: , , , <area>, , , , ,...
抽空学习了下javascript和...HTML的DOM元素支持onclick、onblur等以on开头属性,我们可以直接在这些属性值中编写javascript代码。当点击div的时候,下面的代码会弹出div的ID: <div id=”outestA” onclick=”var id
jsp+ajax实现的局部刷新较验验证码(onblur事件触发较验).docx
介绍两个方法和种是利用javascript onFocus onBlur来判断焦点和失去焦点,加一种是利用jquery $("p").blur(); 或$("p").blur(fn)来实现,有需要的朋友可以参考一下
今天小编就为大家分享一篇layui动态绑定事件的方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧