gpt4 book ai didi

javascript - 无法阻止 javascript 中的默认事件

转载 作者:行者123 更新时间:2023-11-30 12:57:57 25 4
gpt4 key购买 nike

我只是一个初学者,所以也许这个问题会让你微笑,但我就是找不到任何解决方案。

我有一个链接:

 <div class="comments"><a href="#" onclick="get_comments('.$row['post_id'].')">'.$comments_no.' comments</a></div>

哪个点击触发了一个函数:

 function get_comments(id) {
x = "#cf"+id;
y = "#comments"+id;
$(x).toggle(100);
var dataString = id;
$(".loading").ajaxStart(function () {
$(this).show();
});
$(".loading").ajaxStop(function () {
$(this).hide();
});

$.ajax({
type: 'POST',
url: 'load_comments.php',
data: {'dataString':dataString},
cache: false,

success: function(data){
$(y).html(data);
}
});
return false;
};

一切正常,直到我真正点击一个链接...每次我点击一个链接,它都会把我带到页面的顶部。谁能告诉我如何解决这个问题?

最佳答案

可以使用 href="#" 但我没有看到您的 preventDefault 函数。

试试这个:

HTML:

<div class="comments">
<a href="#" class="comments-click" data-id="'.$row['post_id'].'">'.$comments_no.' comments</a>
</div>

JS:

$(document).ready(function() {
$('.comments-click').click(function(event) {
event.preventDefault(event);
id = $(this).data('id');
/* ... */
});
});

使用 .data() 您可以访问 data-* 属性。

使用 .click(),您拥有比 onclick 更好的事件处理程序,传递事件(单击“#”)并阻止它!

JSFiddle:http://jsfiddle.net/aCLyw/2/

http://api.jquery.com/event.preventDefault/

(抱歉对答案进行了 1000 次编辑)

关于javascript - 无法阻止 javascript 中的默认事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18417985/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com