我有一个表单,用户必须在其中签名一堆不同的部分。
<script>
$.function(){
$('.initialMe').change(function(){
var id = $(this).attr('id');
alert(id);
});
});
</script>
<?php
echo "<div class='signature'>Initial Here:<input type='text' class='initialMe' id='sign[service1]' name='sign[service1]' size='4'></div>";
echo "<div class='signature'>Initial Here:<input type='text' class='initialMe' id='sign[service2]' name='sign[service2]' size='4'></div>";
?>
我想在文本框初始化完成后触发一个操作。我不想使用更改,因为他们必须在某个地方单击才能触发事件。我不想使用 keyup
,因为事件将在首字母缩写的第一个字母后触发。我不知道用户是否会使用 2 个字母或 3 个字母作为缩写。这不是可提交的表格。将其视为一份法律文档,用户必须在页面的不同部分上签名。我有什么选择?
最佳答案
您可以结合使用keyup
和setTimeout
。我想说的是,将其绑定(bind)到 keyup
中,并给用户一些时间,让用户感觉它已经完成,然后检查。
$(function () {
var tmr = 0;
$("input").keyup(function () {
clearTimeout(tmr);
tmr = setTimeout(function () {
alert("Checking...");
}, 1000);
});
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<input />
这样,每次都会检查,但会给出一些时间。当用户在一秒钟内再次键入时,它会清除之前的计时器,因此不会进行检查。
关于javascript - jquery 替代更改或 keyup,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34525240/