代码之家  ›  专栏  ›  技术社区  ›  Matthieu Riegler

IE:点击链接和点击链接监听器有时会打开链接,有时会触发监听器

  •  1
  • Matthieu Riegler  · 技术社区  · 7 年前

    在Internet Explorer 11上(未在Chrome 69和Firefox 61上重新发布),

    我有一个 a href 链接到 $.click 注册的。

    参考下面的代码,使用鼠标中键单击,

    • [dossier-link] 在新选项卡中打开<=预期行为
    • [action-link] 调用函数<=意外行为

    我的代码:

    $('[action-link]').each(function () {
        var id = parseInt($(this).attr('action-link'));
        $(this).click((e) => {
            if (e.button == 1 || e.which == 1) {
                e.preventDefault();
                afficherTimeline(id, TimelineType.Action);
            }
        });
    });
    $('[dossier-link]').each(function () {
        var id = parseInt($(this).attr('dossier-link'));
        $(this).click((e) => {
            e.preventDefault();
            afficherTimeline(id, TimelineType.Dossier)
        });
    });
    

    以及相应的html

    <tr class="action">
       <td class="dossier nostretch">
          <a href="/Demandes/44012" dossier-link="44012">#627</a>
       </td>
       <td class="nostretch">
          <a href="/Demandes/44012" dossier-link="44012"><i class="fa fa-sign-in"></i></a>
       </td>
    </tr>
    
    0 回复  |  直到 7 年前
    推荐文章