我遇到Change事件的问题。我希望每次输入值改变时使用ajax做一个请求= keyup,past,cut .... jQuery中的change事件太慢!!
$("#Password").change(function (){
$.post("register.php", {do : 'password', pass : $(this).val()}, function (data){
alert(data);
});
});
每一个我打开一个名为 Elastic 的插件,我找到了我要找的东西:
$(Your Selectors).bind('keyup change cut paste', function(){
//do things
});
这是完美的^^ !!
答案 0 :(得分:1)
如果您愿意,可以做一些事情来涵盖所有基础:
$("#Password").bind('action_taken',function (){
$.post("register.php", {do : 'password', pass : $(this).val()}, function (data){
alert(data);
});
}).blur(function(){
$(this).trigger('action_taken'); //call action_taken on blur
}).change(function(){
$(this).trigger('action_taken'); //call action_taken on change
}).keyup(function(){
$(this).trigger('action_taken'); //call action_taken on keyup
});
答案 1 :(得分:0)
我猜你可以选择将输入值存储在一个变量中,并且只有当该字段具有触发你的ajax请求的焦点时才检查keyup(并将当前值与之前的值进行比较)。
您可以使用document.activeElement
或jquery 1.6 +,:focus
选择器
对于使用鼠标粘贴的问题,您可以重复使用eventlistener进行鼠标左键单击