为什么e.preventDefault()和e.stopPropagation()不起作用?

时间:2019-01-14 09:50:08

标签: jquery

如果我单击链接,它将转到链接URL,而不是执行我的功能指令

我已经在这里尝试过一些关于stackoverflow的见解,但是什么也没有,也许有一些事情让我没想到

$(document).ready(function() {
  $("a").click(function(e) {
    e.preventDefault();
    e.stopPropagation();
    alert("ok");
    var index = % (this).parent().children().index($(this));
    var url = $(this).attr("href");
    $.get(url, function(data, status) {
      alert("Status: " + status);
      $('#1').children(':eq(' + index + ')').after(" " + data);
    });

  });
});
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js"></script>
<div id="1">
  <a href="prova.htm">link</a>
  <a href="prova.htm">link</a>
  <a href="http://www.abc/index1.htm">link</a>
  <a href="http://www.xyz/index2.htm">link</a>
  <a href="http://www.abc/index3.htm">link</a>
  <a href="http://www.xyz/index4.htm">link</a>
  <a href="http://www.abc/index5.htm">link</a>
  <a href="http://www.xyz/index6.htm">link</a>
  <a href="http://www.abc/index7.htm">link</a>
  <a href="http://www.xyz/index8.htm">link</a>
</div>
<div id="2"> <a href="http://www.xyz/page1.htm">link</a>
  <a href="http://www.abc/page2.htm">link</a>
  <a href="http://www.xyz/page3.htm">link</a>
  <a href="http://www.abc/page4.htm">link</a>
  <a href="http://www.xyz/page5.htm">link</a>
  <a href="http://www.abc/page6.htm">link</a>
  <a href="http://www.xyz/page7.htm">link</a>
  <a href="http://www.abc/page8.htm">link</a>
</div>

文件已上传到heroku服务器,它应将已加载的文档添加到链接中。在本地主机中,足以警告“确定”,因为即使这样也不会直接进入链接URL。 有人可以帮我吗?

1 个答案:

答案 0 :(得分:1)

请检查您的代码,您正在使用%,但需要使用$,工作示例:

$(document).ready(function() {
  $("a").click(function(e) {
    e.preventDefault();
    e.stopPropagation();
    alert("ok");
    var index = $(this).parent().children().index($(this));
    var url = $(this).attr("href");
    $.get(url, function(data, status) {
      alert("Status: " + status);
      $('#1').children(':eq(' + index + ')').after(" " + data);
    });

  });
});
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js"></script>
<div id="1">
  <a href="prova.htm">link</a>
  <a href="prova.htm">link</a>
  <a href="http://www.abc/index1.htm">link</a>
  <a href="http://www.xyz/index2.htm">link</a>
  <a href="http://www.abc/index3.htm">link</a>
  <a href="http://www.xyz/index4.htm">link</a>
  <a href="http://www.abc/index5.htm">link</a>
  <a href="http://www.xyz/index6.htm">link</a>
  <a href="http://www.abc/index7.htm">link</a>
  <a href="http://www.xyz/index8.htm">link</a>
</div>
<div id="2"> <a href="http://www.xyz/page1.htm">link</a>
  <a href="http://www.abc/page2.htm">link</a>
  <a href="http://www.xyz/page3.htm">link</a>
  <a href="http://www.abc/page4.htm">link</a>
  <a href="http://www.xyz/page5.htm">link</a>
  <a href="http://www.abc/page6.htm">link</a>
  <a href="http://www.xyz/page7.htm">link</a>
  <a href="http://www.abc/page8.htm">link</a>
</div>