在资源管理器中,防止默认设置不起作用

时间:2019-02-21 07:27:59

标签: javascript jquery internet-explorer-11

单击li元素后,我想做一些事情而不是重定向。此代码可在所有现代浏览器中完美运行,但不适用于资源管理器。在ie中,单击后它将重定向我。

如果我想要在资源管理器中使用相同的功能,应该在代码中添加些什么?

HTML

<li class="activate-modal">
  <a href="/test.com">Some Text</a>
</li>

JS / jQuery

$(document).ready(function()
{
  showModal();
}

function showModal() {
  $(document).on('click', '[class*="activate-modal"]', openModal);
}

function openModal(e) {
  e.preventDefault ? e.preventDefault() : e.returnValue = false;
  e.stopPropagation ? e.stopPropagation() : e.cancelBubble = true;

  //some other code
}

2 个答案:

答案 0 :(得分:2)

您必须将事件处理程序附加到link而不是li上,并从链接中删除href网址以停止重定向

   <li>
      <a href="#" class="someClass">Some Text</a>
    </li>


    $(document).ready(function () {
      $(document).on('click', '.someClass', openModal);
    })

    function openModal(e) {
     e.preventDefault ? e.preventDefault() : e.returnValue = false;
      e.stopPropagation ? e.stopPropagation() : e.cancelBubble = true;

        alert("show Model")
      //some other code
    }

答案 1 :(得分:0)

您可以设置数据目标和数据切换

<li class="someClass">
<a data-toggle="modal" data-target="#showModal" href="#">Some Text</a>
</li>