2015-07-08 4 views
0

Почему событие blur в приведенном ниже коде не работает, и окно предупреждения появляется, как только документ готов, и не дожидайтесь события размытия. дайте мне предложение, чтобы исправить это ... Спасибо ...Событие jQuery blur не работает

<!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="[email protected]"> 
 
</body> 
 
</html>

+0

куб.см является функцией обратного вызова. для запуска после события –

+1

Попробуйте '$() .blur (function() {cc();});' – Justinas

+0

u mean '$ (" [type = text] "). blur (function() {cc (" [type = text] ")});' ?? –

ответ

1

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()); 
    } 
});