【问题标题】:Jquery on click doesn't fire when blur is also bound当模糊也被绑定时,点击时的 Jquery 不会触发
【发布时间】:2017-11-06 19:03:54
【问题描述】:

我的模糊事件触发但不是我的点击事件。如果我删除模糊事件代码,点击事件就可以正常工作。

如何更改这些事件的触发顺序?

$.fn.autoComplete = function () {

    $(document).on('click', '#' + settings.resultsDivId + ' tr', function () {
            console.log('click fired');
            $('#' + settings.resultsDivId).hide();
    });

    this.on('blur', function () {
        console.log('blur fired');
        $('#' + settings.resultsDivId).hide();
    });

    function AutoComplete(term) {
        // ajax call stuff
    }
};

【问题讨论】:

  • 您的点击事件中有一个}。删除那个
  • 错字。投票结束。
  • @ScottMarcus 这是问题中的错字,而不是代码中的错字。还是不行。
  • @user3953989 因为它仍然无法工作,请发布所有相关代码,即 html
  • 如果你删除了 blur 事件,那么它可以正常工作吗?也许事件触发了,所以它隐藏了在settings.resultsDivId 中设置的 id 元素,这使得无法点击?

标签: javascript jquery


【解决方案1】:

click 更改为mousedown 解决了它。显然clickblur 之后触发。

Blur event stops click event from working?

【讨论】:

  • 我正要发布一个解决方案,但如果这可行,那就太好了。我的解决方案是删除 blur 事件,而是检查用户是否单击了表格或外部,并基于此隐藏表格
猜你喜欢
  • 2013-01-05
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-08-03
  • 2013-08-01
  • 1970-01-01
相关资源
最近更新 更多