【问题标题】:Click event on button not fired after focus out焦点消失后未触发按钮上的单击事件
【发布时间】:2017-02-01 18:16:32
【问题描述】:

请查看图片以清楚了解问题:

.

盒子上有focusout 事件。在框中键入时,如果用户单击按钮,则 click 不起作用,因为立即调用焦点,并且当 focusout 从框中移动时按钮会向上移动一点。我只是提前知道如何在focusout 之后触发按钮的单击事件。这是focusout上的示例代码。

$(document).on("focusout", ".fn-enlargeTextarea", function(event) {
     var optionNumber = ($(this).attr('id').replace('1option','')).trim();
     $('#1option'+optionNumber+'_counter').remove();
     $(this).removeClass('textarea-height01').addClass('textarea-height02');     
});

【问题讨论】:

  • 你能用 .blur() 代替 .on("focusout") 吗?
  • 问题依旧@oompahlumpa
  • so on focusout 你想触发一个按钮的点击事件对吗?
  • 仅当由于单击任何按钮而导致焦点消失时。@oompahlumpa
  • @GrégoireFruleux 仅在按钮单击时才应触发按钮上的单击事件。但它不会仅触发焦点调用。当焦点位于窗口内的其他位置时它会起作用。

标签: javascript jquery events jquery-events


【解决方案1】:

您可以停止传播,然后调用单击按钮。我做到了here

event.stopPagation();

【讨论】:

    【解决方案2】:

    您可以使用 jquery 触发事件。如果您想在聚焦后触发按钮的单击事件,请添加以下行:

    $( "#targetElm" ).trigger( "click" );
    

    在焦点输出时运行的回调函数内部。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-05-11
      • 1970-01-01
      • 2014-01-14
      • 1970-01-01
      • 2010-10-21
      相关资源
      最近更新 更多