
其实你写在哪里都不重要,比如你要想放在按钮上,你就给按钮定个id="blur_button",你想谁应用此事件都给它加个ID
以下就是JQ,你只要仿著写,不然就是再看看基础!
$(function (){
$('#blur_button')blur(function (){
alert('这里就是响应blur的具体事件');
});
});
获取焦点事件,应该满足不了这个要求吧,试试我这个吧:
js:
documentonclick = function(){
if(documentactiveElementid=='single'){
documentactiveElementstyledisplay ="none";
//控制别的div的也可以在此延伸
}
}
html:
<div id="single" style="width:800px;height:200px;background-color:blue;" >
</div>
<hr>
<div id="tools" style="width:800px;height:200px;background-color:red;" >
</div>
需要注意虽然focus与blur不冒泡,但是却可以在捕获阶段侦听到它们。
只定义了div2即棕色的那个div的事件
解释enter与leave:当鼠标由粉移向棕色时,显示enter,鼠标由棕移向绿时,不显示leave与enter。当移出粉色时,显示leave。
解释over与out:当鼠标由粉移向棕色时,显示over,鼠标由棕移向绿时,显示out在显示over,鼠标由绿移向棕时,显示out载显示over。为什么会显示呢?是因为事件冒泡,由棕移向绿时会触发div3的over事件,但是div3并没有定义,所以向上冒泡到div2。所以会显示div2的over事件。
总结mouseenter与mouseleave是IE提出的事件,不冒泡。但是mouseover与mouseout事件则通过简单的estopPropagation()也无法避免冒泡的现象。
首先我要说你的事件注册的不对,应该这样写:
$("#two")focus();
$("div")keydown(function(e){
if(ekeyCode == 13){
alert($(this)html());
}
});
其次,div默认是不能focus的,所以你的焦点就没进去。
如果你实在是要实现div的focus,并且按回车显示内容的话,我有一个办法能达到你的效果。
把三个div换成这样:
<div id="one" contenteditable="true">oooo</div>
<div id="two" contenteditable="true">tttt</div>
<div id="three" contenteditable="true">hhhh</div>
不管IE还是火狐都能达到你的效果。
$(function(){
$('#search_auto')css({'width':$('#search input[name="k"]')width()+4});
$('#search input[name="k"]')keyup(function(){
$post('search_autophp',{'value':$(this)val()},function(data){
if(data=='0'){
$('#search_auto')html('')css('display','none');
}else{
$('#search_auto')html(data)css('display','block');
}
});
})focusout(function(){
$('#search_auto')html('')css('display','none');
});
});
试试,建议用jquery的插件 jquery-autocomplete
<style>
div {width:200px; height:50px; border:1px solid #888}
div:hover {outline:1px solid #bbf}
</style>
<div>把鼠标移到这里来</div>
以上就是关于在DIV判断是否失去焦点全部的内容,包括:在DIV判断是否失去焦点、点击jsd出div层,当鼠标移出div层窗口后任意点击关闭div层窗口!大虾们应该怎么实现啊啊啊 、JS—事件类型(焦点事件、鼠标事件(部分))等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)