div此时是有焦点的,鼠标监听事件可以给你准确的答案
<script type="text/javascript">
function addListener(element, e, fn) {
if (elementaddEventListener) {
elementaddEventListener(e, fn, false);
} else {
elementattachEvent("on" + e, fn);
}
}
addListener(document, "click", function (evt) {
var evt = windowevent windowevent : evt, target = evtsrcElement || evttarget;
if (targetid == "input") {
alert("鼠标在input中")
return;
} else {
while (targetid != "div" && targetnodeNametoLowerCase() != "html") {
target = targetparentNode;
alert("鼠标在div中")
}
if (targetnodeNametoLowerCase() == "html") {
//焦点在div之外
}
}
})
</script>
正常理论上来讲,应该在那里加一个标签的,然后把你的焦点定位到标签中。
二一种方法就是把1234232这段也加上标签,与label一起做成浮动,然后将div设定内填充到“点击这个位置”这里。
首先我要说你的事件注册的不对,应该这样写:
$("#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还是火狐都能达到你的效果。
写jquery吧
假设你要设为焦点的id为yyy,例如<input type='text' id='yyy' />
然后在页面里先引入Jquery,然后自定义函数
<script type='text/javascript'>
$(function(){
yyyfocus();
});
</script>
不知道是不是你想要的,可以看一下,运行过的:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 10 Transitional//EN" ">
以上就是关于【js】关于div的焦点问题 div内有个input,如果input获取了焦点,那么div此时算是全部的内容,包括:【js】关于div的焦点问题 div内有个input,如果input获取了焦点,那么div此时算是、<div contenteditable=true>的焦点、jquery设置焦点并触发事件等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)