我有这段代码,我无法一直阻止默认链接事件。它的工作时间有90%,但剩下的10%我的代码没有运行,没有收到任何错误信息,并在我的网址末尾添加#。我的标签上有#on my href。
我使用.on(),因为有时在文档准备好后加载元素。我使用.off()因为在我使用它之前,有时当我点击它时会触发不止一次。奇怪的部分有时候。我不明白代码有时可以工作,有时候也不行。不应该一直都是同样的结果?
对很多评论感到抱歉。
这是我的完整jquery代码:
public class MyObject {
private String name;
private int id;
private long time;
}
public static Comparator<MyObject> COMPARE = new Comparator<MyObject>() {
@Override
public int compare(MyObject o1, MyObject o2) {
return (int) (o1.time - o2.time);
}
};
public PriorityQueue<MyObject> queue = new PriorityQueue<>(COMPARE);
答案 0 :(得分:0)
你显然有很多问题,其中一些是我们无法帮助的,因为你没有包含相关的代码。
第二和第三个问题很简单。不要使用
$(".comment-remove").off().on("click", function(event){
使用
$(document).on('click','.comment-remove',function(event){
我还建议不要使用serial属性,而是使用data-serial代替var tutorial_serial = $(this).parent().parent().parent().attr("id");
使用var tutorial_serial = $(this).closest('.tutorial').attr("id");
这样更易于维护的内容。
答案 1 :(得分:-1)
删除锚点上的href属性,以防止它在您的网址末尾添加#:
<a href="#" serial="'.$data_id.'" class="comment-remove" '.$hidden_remove.' >Remove</a>
我建议使用:
$("body").on("click",".comment-remove",function(){...})
要防止事件多次触发,因为您要在主体上设置一次侦听器,而不是on,根据需要可以或不能将ID分配给您的ID,具体取决于DOM中的元素是否存在该行已经运行。