我有这样的链接:
<a hreflang="15" class="comment-show-link" href="">View/hide comments</a>
然后让这段代码显示/隐藏内容:
$('.comment-show-link').click(function(e) {
$('#comment-show-'+$(this).attr("hreflang")).slideToggle('slow');
e.stopPropagation();
});
但是当我点击链接页面被发送并且div“#comment-show-”没有显示时,为什么?我做错了什么?
答案 0 :(得分:7)
您不希望stopPropagation
(停止事件冒泡),您需要preventDefault
(这会阻止事件的默认操作 - 在这种情况下,在链接之后)。或者只是从事件处理函数返回false
(does both [在链接上,向下滚动到以“返回false ...”开头的段落] 。 / p>
答案 1 :(得分:1)
只需转到href
属性javascript:;
值
<a hreflang="15" class="comment-show-link" href="javascript:;">View/hide comments</a>
答案 2 :(得分:1)
尝试:
<a data-hreflang="15" class="comment-show-link" href="#">View/hide comments</a>
-
$('.comment-show-link').on('click', function(e) {
e.preventDefault();
$('#comment-show-'+$(this).data("hreflang")).slideToggle('slow');
});
或者为了防止默认动作和冒泡,请执行
$('.comment-show-link').on('click', function() {
$('#comment-show-'+$(this).data("hreflang")).slideToggle('slow');
return false;
});
答案 3 :(得分:1)
这是锚标记的行为。我想你想让e.PreventDefault阻止它。
答案 4 :(得分:0)
删除href,它没用(当然最好使用简单的跨度)。
如果添加它来更改光标,请改用css(光标:指针)。
答案 5 :(得分:0)
您可以使用preventDefault()
;
$('.comment-show-link').click(function(e) {
$('#comment-show-'+$(this).attr("hreflang")).slideToggle('slow');
e.preventDefault();
});
答案 6 :(得分:0)
请勿使用链接。
您没有链接到任何内容,因此将您的内容标记为链接是没有意义的。
答案 7 :(得分:0)
尝试
$('.comment-show-link').click(function(e) {
$('#comment-show-'+$(this).attr("hreflang")).slideToggle('slow');
e.stopPropagation();
return false;
});
答案 8 :(得分:0)