javascript - 模糊事件不会在第一次尝试时触发

标签 javascript php jquery html .post

我正在尝试根据在文本框中输入的值更新 DOM。

HTML:

<input id="event-name" type="text"/>

JQUERY:

$('#event-name').on('blur',function(){
  $.post("scripts/add-team-support.php",{eventName : eventName},function(minAndMaxString){
  //my code here
  });
});

这适用于 Chrome 中的第一个模糊。当我在 Opera、Mozilla 和 Edge 中尝试它时,它在第一次尝试时不起作用。

当我在 jquery 之前添加它时,它起作用了。

$("#event-name").focus();
$("#event-name").blur();
$("#event-name").focus();

我这样做是为了在页面打开时进行第一个 $.post 调用。

为什么会出现这个问题? 如何以适当的方式解决这个问题? 请帮忙!

最佳答案

你可以试试这段代码:

var lazyTriggerEvent = function(id,event,callback){
    var searchTrigger=null;
    $("#"+id).bind(event,function(){
        var text = $.trim($(this).val());
        clearTimeout(searchTrigger);
        searchTrigger = setTimeout(function(){
            callback(text);
        },500);
      })
   };
//use keyup event
lazyTriggerEvent("event-name","keyup",function(){})

关于javascript - 模糊事件不会在第一次尝试时触发,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39314918/

相关文章:

Javascript - 生成控件并附加

php - 从字符串中删除新行并替换为一个空格

php - postgresql 数据库表字段中的奇怪字符

python - web2py 中的 ajax 响应

javascript - jquery 中两个事件之间的正确时间记录

javascript - 需要禁用下拉菜单的淡出功能(仅)

javascript - jQuery html() 在 IE9 中运行不佳

javascript - 如何获取 Controller 中输入的ngModel?

javascript - 任何使 JavaScript 比较始终为真的值?

带 preg_match 的 PHP switch 语句