这是Chrome和Safari的错误

时间:2013-08-18 11:04:26

标签: jquery google-chrome events safari onfocus

我的代码非常简单,如下所示

<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <title></title><style>span {display:none;}  </style>
</head>
<body>

  <p><input type="text" id="a"/> <span>focus fire</span></p>

<p><input type="password" /> <span>focus fire</span></p>


  <script src="http://code.jquery.com/jquery-1.9.1.js"></script>


<script>

    $("input").focus(function () {

        $(this).next("span").css('display', 'inline').fadeOut(1000);
        alert("he");
    });

    $(function () {
        $("#a").focus();
    });
</script>

</body>
</html>

在Chrome和Safari中,警报会持续发射,与IE,FF,Opera相比,它们只会触发一次。有人可以解释一下吗?

1 个答案:

答案 0 :(得分:0)

这是因为Chrome和Safari会在警报解除后再次关注该元素,这会导致另一个警报触发,依此类推。其他浏览器在警报被解除后不会专注于任何事情,这就是为什么它不会无休止地开火。