jQuery回调警报两次

时间:2014-10-04 20:09:55

标签: javascript jquery callback

下面的代码提示两次,请解释 -

$(document).ready(function() {
    $("button").click(function() {
        $(".test").hide(300, function() {
            alert("hideen");
        });
    });
});

2 个答案:

答案 0 :(得分:0)

$(".test")会返回一个包含类' test'的元素数组。

您可能有两个这样的元素,因此回调会被执行两次。

要验证,请尝试:

console.log($(".test").length);

如果输出为' 2',您就得到了答案。

答案 1 :(得分:0)

这就是.hide()的工作方式。来自documentation

  

如果动画了多个元素,请务必注意每个匹配元素执行一次回调,而不是整个动画执行一次。