doubingjiu3199 2016-09-04 08:20
浏览 79
已采纳

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

I'm trying to update the DOM based on the value entered in a text box.

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
  });
});

this works on the first blur in Chrome. When I tried it in opera, mozilla and edge it doesn't worked on the first attempt.

It worked when I added this before the jquery.

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

I did this to make the first $.post call to occur when the page opens.

Why is this problem happening? How to solve this in a proper way? Please help!

  • 写回答

2条回答 默认 最新

  • douzhe1264 2016-09-04 08:44
    关注

    It often happens with elements across browsers that consequent events do not work when binding an event to them through ID or class. The following solution should help you:

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

    Alternatively, you could use keyup event. You can do so following:

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

    Also, using - in IDs is not a good approach. Rather, either stick to camelCase or underscore_format of naming convention.

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥50 comsol稳态求解器 找不到解,奇异矩阵有1个空方程返回的解不收敛。没有返回所有参数步长;pid控制
  • ¥15 怎么让wx群机器人发送音乐
  • ¥15 fesafe材料库问题
  • ¥35 beats蓝牙耳机怎么查看日志
  • ¥15 Fluent齿轮搅油
  • ¥15 八爪鱼爬数据为什么自己停了
  • ¥15 交替优化波束形成和ris反射角使保密速率最大化
  • ¥15 树莓派与pix飞控通信
  • ¥15 自动转发微信群信息到另外一个微信群
  • ¥15 outlook无法配置成功