Php jquery密钥多次启动
我有以下代码:Php jquery密钥多次启动,php,jquery,Php,Jquery,我有以下代码: $("#search").keydown(function (e) { var str = $(this).val(); alert(str); var url = $("#url").val() + "?ajax=true&q=" + str; $("#tableWrap").load(url, function () {}); }); #search是一个文本框的id,用于过滤表中显示的信息。当我输入第一个键时,该函数将触发一次。当我
$("#search").keydown(function (e) {
var str = $(this).val();
alert(str);
var url = $("#url").val() + "?ajax=true&q=" + str;
$("#tableWrap").load(url, function () {});
});
#search
是一个文本框的id,用于过滤表中显示的信息。当我输入第一个键时,该函数将触发一次。当我在其中键入第二个键时,函数将触发两次。有什么想法吗
编辑:所有代码
$(document).ready(function(){
// $("#search").val("جست و جو...");
$("#search").live('click', function(){
$(this).val("");
});
$("#search").keyup(function (e) {
var str = $(this).val();
alert(str);
var url = $("#url").val() + "?ajax=true&q=" + str;
$("#tableWrap").load(url, function(){
});
});
/* $("#search").live('keyup', function(){
var str = $(this).val();
var url = $("#url").val() + "?ajax=true&q=" + str;
$("#tableWrap").load(url, function(){
// $("#search").focus().val(str);
});
});*/
$(".pg_class a").live('click',function(){
showLoading();
$("#load").fadeIn("slow");
loadAJAX(this+"&ajax=true");
return false;
});
$("#tableWrap th").live('click',function(){
showLoading();
$("#load").fadeIn("slow");
loadAJAX($(this).children("a").attr("href") + "&ajax=true");
return false;
});
$("#tableWrap th a").live('click',function(){
showLoading();
$("#load").fadeIn("slow");
//alert($(this).attr("href"));
// alert("salam");
loadAJAX($(this).attr("href") + "&ajax=true");
return false;
});
$(".header select").live('change',function(){
showLoading();
$("#load").fadeIn("slow");
var pageSize = $('.header select option:selected').text();
var url = $('.header select').val();
// alert(url+pageSize+"&ajax=true");
loadAJAX(url+pageSize+"&ajax=true");
});
});
</script>
$(文档).ready(函数(){
//$(“搜索”).val(“搜索…”);
$(“#搜索”).live('单击',函数()){
$(此).val(“”);
});
$(“#搜索”).keyup(函数(e){
var str=$(this.val();
警报(str);
var url=$(“#url”).val()+“?ajax=true&q=“+str;
$(“#tableWrap”).load(url,函数(){
});
});
/*$(“#搜索”).live('keyup',function(){
var str=$(this.val();
var url=$(“#url”).val()+“?ajax=true&q=“+str;
$(“#tableWrap”).load(url,函数(){
//$(“#搜索”).focus().val(str);
});
});*/
$(“.pg_a类”).live('click',function(){
showLoading();
$(“加载”).fadeIn(“缓慢”);
loadAJAX(this+“&ajax=true”);
返回false;
});
$(“#tableWrap th”).live('click',function(){
showLoading();
$(“加载”).fadeIn(“缓慢”);
loadAJAX($(this).children(“a”).attr(“href”)+“&ajax=true”);
返回false;
});
$(“#tableWrap th a”).live('click',function(){
showLoading();
$(“加载”).fadeIn(“缓慢”);
//警报($(this.attr(“href”));
//警惕(“萨拉姆”);
loadAJAX($(this).attr(“href”)+“&ajax=true”);
返回false;
});
$(“.header select”).live('change',function(){
showLoading();
$(“加载”).fadeIn(“缓慢”);
var pageSize=$('.header选择选项:selected')。text();
var url=$('.header select').val();
//警报(url+pageSize+“&ajax=true”);
loadAJAX(url+pageSize+“&ajax=true”);
});
});
以备将来使用。
我用以下方法解决问题:
jQuery("#search").one("keyup", function (e) {
var str = $(this).val();
var url = $("#url").val() + "?ajax=true&q=" + str;
$("#tableWrap").load(url, function(){
});
});
您的keydown处理程序是否嵌套在另一个处理程序中?您可以发布周围的代码吗?@Dhaval Marthak问题不是由keyup引起的。@不,不是。我猜是在执行jQuery.load()时,您返回的html包含添加keydown侦听器的相同脚本,因此在第一个之后有两个keydown侦听器。如果请求是ajax,那么您希望在php代码中不包含javascript事件处理程序。