jQuery 模糊事件无效

jQuery blur event not working

为什么下面代码中的模糊事件不起作用,并且在文档准备好后立即弹出警告框,而不是等待模糊事件。给我建议修复它...谢谢...

<!DOCTYPE html>
<html>
<head>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script>
<script>
$(document).ready(function(){
    $("[type=text]").blur(cc("[type=text]"));
    $("[type=email]").blur(cc("[type=email]"));
    function cc(s){
        alert("Value: " + $(s).val());
    }
});
</script>
</head>
<body>
<input type="text" id="test" value="rev"><br>
<input type="email" id="test" value="mail@example.org">
</body>
</html>

blur() function 以函数为参数。在您的代码中,您传递了 cc 函数执行的结果。

你应该使用匿名函数:

$(document).ready(function(){
    $("[type=text]").blur(function() { cc("[type=text]"); });
    $("[type=email]").blur(function() { cc("[type=email]"); });
    function cc(s){
        alert("Value: " + $(s).val());
    }
});