问答详情
源自:6-6 失焦事件(onblur)

怎么才会触发onblur事件?

<!DOCTYPE HTML>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title> 失焦事件 </title>
<script type="text/javascript">
  function message(){
    alert("请确定已输入密码后,在移开!"); }
</script>    
</head>
<body>
  <form>
   用户:<input name="username" type="text" value="请输入用户名!" >
   密码:<input name="password" type="text" value="请输入密码!" onblur="message()">
  </form>
</body>
</html>

代码如上。

看前边的其他同学提的问题,知道是聚焦点离开即光标离开后才会触发,于是我在其他地方点击了一下,光标就不在密码框那里闪烁了,但还是没有触发事件,没有弹出框。

请问这个时间怎样触发才对?

提问者:星风飞行 2015-12-08 17:43

个回答

  • 水化冰流
    2016-01-15 18:26:07

    详细例子:

    <!DOCTYPE HTML>
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    <title> 失焦事件 </title>
    <script type="text/javascript">
      function A(){
        alert("请确定已输入 ‘用户名后’ ,在移开!"); }
      function B(){
        alert("请确定已输入 ‘密码后’ ,在移开!"); }
    </script>   
    </head>
    <body>
      <form>
       用户:<input name="username" type="text" value="请输入用户名!" onblur="A()" >
       密码:<input name="password" type="text" value="请输入密码!" onblur="B()" >
      </form>
    </body>
    </html>

  • 水化冰流
    2016-01-15 18:24:59

    你可以这么看:由    ~    密码:<input name="password" type="text" value="请输入密码!" onblur="message()" >    ~可以看出,代码块说明已经把 onblur 方法属性的行使权赋给了 密码框:input,所以只有从密码框(也就是在密码框内点击后,才会触发事件onblur,)触发了以后,你在    在密码框外点击鼠标,后,系统才会检测到你的鼠标点击事件已经离开了密码框内的onblur,离开就是失焦,过程就是触发的过程。失焦后(也就是触发)才会调用:function message(){ alert("请确定已输入密码后,在移开!"); }

    希望能帮到你。

  • echo_kinchao
    2015-12-08 17:50:59

    当你的鼠标聚焦点不在那个标签上面就会触发了

  • 星风飞行
    2015-12-08 17:50:05

    看了前边其他同学的回答,自己也试了下,是因为我关了弹出框,重启一次浏览器就可以了。