选择除一个以外的所有元素,这是jQuery中的子级在Safari中不起作用

编码伴侣

我想做的很简单。我想使整个部分都可以单击,除了跨度和下面的所有内容之外,因为我希望链接重定向到其他地方。

<section id="id" class="message">
 <div class="message_body">
  <font color="color">text</font>
   <span style="style">
      <a href="url">
        <img src="linktoimage"></img>
      </a>
   </span>
   <br></br>
   <text name="message_comment" id="message_comment">message</text>
 </div>
</section>

我尝试了以下方法:

$('.message:not(span)').click(function() {
  window.location.href = "url";
});

$(".message").not("span").click(function() {
  window.location.href = "url";
});

该行为在Chrome和Firefox中都是正确的。但是在Safari中,a href链接不起作用。当用html呈现时,它被视为链接,但是当您单击它时,将处理整个类的jQuery行为开始,就好像它忽略了“ not span”一样。无论如何,有没有重写它可以在Safari,Chrome和Firefox中使用,还是我做错了什么?

塔普拉

您可以定位跨度,以便他们单击时,单击事件将不会继续冒泡。

$('.message').on('click', function(){
  console.log( 'yeah!' );
});

$('.message span').on('click', function (e) {
  console.log( 'denied!' );
  //stop the event from bubbling up out of the span to the parent elements
  e.stopPropagation();
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

<div class="message">
  <span>Click Me!</span>
  <div>Other Stuff</div>
</div>

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何选择DOM中除一格和子级以外的所有元素

选择向量中除dplyr管道中的一个以外的所有元素

在jQuery中隐藏某个类的除一个元素以外的所有元素

如何选择元素中除最后一个孩子以外的所有孩子?

jQuery:如何从元素中删除除最后一个类以外的所有类

选择除最后一个以外的所有元素

有什么方法可以选择.on()函数中除一个元素以外的所有元素

选择除第一个N以外的所有子级-CSS选择器

jQuery Change()函数在选择列表中只有一个选项时不起作用

CSS:仅针对父级中的第一个子元素 - 第一个类型不起作用

选择一个类中除div以外的所有div

如何选择表中除一个以外的所有列

模糊除div中的一个以外的所有元素

选择除具有特定类的最后一个元素以外的所有元素

朱莉娅选择数组/矩阵中除一个元素外的所有元素

如何使用 .not() 选择 body 中除一个元素之外的所有元素

如何选择DOM中除一个元素外的所有元素?

选择除最后一个列表元素以外的所有元素

如何从数组中删除除JavaScript中的第一个元素以外的所有元素

我如何使用jQuery获取除最后一个元素以外的所有元素

选择除一个元素以外的所有主体

打印匹配除一个以外的所有元素的css选择器

选择除第一个以外的所有元素

替换2D数组特定行中除最后一个元素以外的所有元素

如何在Matlab中获取矩阵的除第一个元素以外的所有元素?

Elixir-如何获取除列表中的最后一个元素以外的所有元素?

jQuery只选择除具有相似ID的一个以外的所有对象

选择除第一个元素外的所有子元素

为什么克隆最后一个元素在jQuery中不起作用?