Javascript 我想不出如何从默认设置中删除链接

Javascript 我想不出如何从默认设置中删除链接,javascript,hyperlink,preventdefault,Javascript,Hyperlink,Preventdefault,我想从默认值中排除子div内的链接 <script src="//ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"> </script> <script> $(document).ready(function(){ $("#parent").click(function(event){ event.preventDefault(); }); }); </script>

我想从默认值中排除子div内的链接

<script src="//ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js">
</script>
<script>
$(document).ready(function(){
  $("#parent").click(function(event){
    event.preventDefault();
  });
});
</script>
</head>
<body>
<div id="parent">
<div id="child"><a href="mylink.html" alt="link">click me!</a></div>
</div>
</body>

是否可以使子div中的链接正常工作?我现在已经花了大约3个小时寻找答案,但我似乎无法找到答案

检查触发事件的目标是否不是锚。如果不是,则不要传播事件

$(document).ready(function(){
  $("#parent").click(function(event){
    if(!$(event.target).is("a")){
        event.preventDefault();
    }
  });
});

只需检查事件的原始目标是否不是标记:


如果单击标记,他不想调用event.preventDefault,因此与此相反,您需要在左上角选择jQuery作为框架,并注释掉原始的click事件处理程序。看这里:没关系!它在我的桌面上工作,但在我的手机上仍然不工作。我正在写的脚本比上面的例子要复杂一些;我认为出于某种原因,它与移动Chrome或我现在的触摸屏脚本有关using@PeterSpit我注意到你把我的答案换成了凯文的。他能解决你提到的移动设备的问题吗?@PeterSpit很高兴我能帮上忙。
$('#parent').click(function(event) {
    if(event.target.tagName !== 'A') {
        event.preventDefault();
    }
});
$('div').on('click', "a", function(e) {
    e.preventDefault();
});