-
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` 是两个常见的JavaScript事件。`onclick` 事件在用户点击元素时触发,而 `onblur` 事件则在元素失去焦点时触发。在某些场景下,如本文所描述的新浪...
其中,`onfocus`和`onblur`事件作为DOM(文档对象模型)的一部分,被广泛应用于网页开发中,用于响应用户的焦点变化。这两个事件主要用于输入框(`<input>`元素)、文本区域(`<textarea>`元素)等可聚焦元素。 ###...
总之,`onblur`事件是HTML表单处理中的一个重要工具,它允许开发者在用户离开特定元素时执行代码,增强了用户界面的响应性和交互性。结合其他事件和JavaScript功能,我们可以构建出更加智能和用户友好的Web应用程序...
JavaScript是Web开发中不可或缺的一部分,尤其在处理用户交互时,事件监听器如`onfocus`和`onblur`起着至关重要的作用。这两个事件主要应用于表单元素,但也可以用于任何可聚焦的HTML元素,例如按钮、链接或文本...
onload事件 ,onclick事件,onblur失去焦点事件,onsubmit表单提交事件的使用示例
在某些情况下,onFocus和onBlur事件可以和click事件结合起来使用,以实现更加丰富的交互效果。 在使用onFocus和onBlur事件时,还应该注意跨浏览器的兼容性问题。因为不同浏览器对这些事件的支持程度和行为可能有所...
JavaScript中的onfocus和onblur事件是网页交互中的两个重要事件,它们主要应用于HTML表单元素,如文本框、按钮等,用于追踪...通过熟练掌握和运用onfocus与onblur,开发者可以创建更加智能和用户友好的网页应用程序。
`OnFocus` 和 `OnBlur` 是两个常见的JavaScript事件,用于管理输入元素(如文本框)的焦点状态。这两个事件主要应用于表单元素,如`<input>`,以实现特定的交互效果和验证功能。 `OnFocus` 事件是在一个元素获得...
在JavaScript中,`onblur`事件还可以与其他DOM事件(如`onclick`、`onfocus`等)结合使用,以实现更复杂的交互逻辑。例如,当一个元素获得焦点后,可以使用`onfocus`事件来改变其样式,而当它失去焦点时,通过`...
HTML中的`onfocus`和`onblur`是两个非常重要的事件处理属性,它们主要用于处理用户交互,特别是与表单元素的交互。这两个事件是表单验证和动态界面更新的基石。 `onfocus`事件是在一个元素(通常是可聚焦的元素如`...
在网页开发中,理解并有效地利用`onfocus`和`onblur`事件是提高用户交互性和表单验证的关键技能。它们不仅可以用于文本输入框,还可以应用于其他可获取焦点的元素,如下拉列表、复选框、单选按钮等。通过结合其他...
### jsp+ajax实现的局部刷新验证验证码(onblur事件触发验证) #### 技术背景与概念 在Web应用开发中,验证码(CAPTCHA)是一种常用的安全措施,用于区分用户是人类还是自动化软件。传统的表单提交方式在提交数据时...
使用这个解决方案非常简单,只需要在input输入框中添加onclick和onblur事件,代码如下: ``` <input onclick="sr(this);" onblur="nosr(this)" /> ``` 五、总结 解决ios h5 input输入框被输入法弹出一块区域的...
- 文本框焦点获取和失去的提示,使用`onfocus`和`onblur`事件,分别调用对应提示的函数,如`showFocus()`和`showBlur()`。 了解和掌握JavaScript事件,可以帮助开发者创建更加交互性和响应性的网页应用。在实际开发...
- **事件链**:除了onClick和onFocus,还有其他事件如onChange、onBlur等,它们共同构成了日期控件完整的交互流程。 在实际项目中,开发者可能还会结合后端服务,实现日期的动态加载、日期范围限制等功能。总的来说...