为啥放在div里面的input的onblur无法生效?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了为啥放在div里面的input的onblur无法生效?相关的知识,希望对你有一定的参考价值。

这是div

<div>
<label for="name" >用户名</label>
<input type="text" id="name" name="user_name" size="6" onblur="danji()"/>
<span>*</span>
</div><br/>
这是函数

<script>
function danji()

alert("hello javascript");


</script>
但是我单拿函数出来是没什么问题的 搞不懂

参考技术A blur是失焦事件,如果input没有先获得焦点再失去焦点是不会触发的 参考技术B 代码没毛病,可以生效,移除input焦点就会触发了

div的onblur事件

一般情况下,onblur事件只在input等元素中才有,而div却没有,因为div没有tabindex属性,所以要给div加上此属性。

如:

<div tabindex="0" hidefocus="true" onfocus=‘alert("得到焦点");‘ onblur=‘alert("失去焦点");‘ style="border:1px solid #ccc;width:200px;height:200px;outline=0;"></div>

 定义tabindex属性后,元素是默认会加上焦点虚线的,那么在IE中可以通过hidefocus="true"去除!其他浏览器通过outline=0进行去除!

以上是关于为啥放在div里面的input的onblur无法生效?的主要内容,如果未能解决你的问题,请参考以下文章

左边是个图片的DIV 右边是个div 右边文字div的为啥在最下面的导航下面?

为啥类名加标签在css样式里面无法使用

解决input中智能提示框onblur与onclick冲突的问题

css样式问题,为啥把form表单放进table的td里面,input type='submit'会自动换行啊?如何才可以不换行?

为啥.net里面无法使用bootstrap的模态框(model)啊?

Input 控件的Onchange 与onBlur 事件区别?