当我在输入表单html字段中发布一个键时,我在jQuery中的Firefox 33.1中获得了一个keyup事件以及一个不需要的focusout事件。我只是想在释放密钥时获得keyup事件。
这是我的代码:
<html>
<head>
<script src="libraries/jquery/jquery-1.11.1.min.js"></script>
</head>
<body>
<form id="contact_form">
<input class="contact_save" type="text" value="" />
</form>
</body>
<script>
$(document).ready(function($){
$('#contact_form .contact_save').focusout(function() {
alert("focusout!");
});
$('#contact_form .contact_save').keyup(function() {
alert("keyup!");
});
});
</script>
</html>
我做错了什么?
由于
迈克尔
答案 0 :(得分:3)
这是因为警报会导致调出焦点。将结果放在另一个元素中作为示例不会导致它触发:
$('#contact_form .contact_save').focusout(function() {
alert("focusout!");
});
$('#contact_form .contact_save').keyup(function() {
$('#result').val('keyup');
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<form id="contact_form">
<input class="contact_save" type="text" value="" />
<output id="result" />
</form>
答案 1 :(得分:0)
尝试使用:
$('#contact_form .contact_save').blur(function() {
alert("focusout!");
});