Jquery e、 尽管有$(document),preventDefault()仍不工作。在(';单击';)上,在fullpage.js init之后恢复

Jquery e、 尽管有$(document),preventDefault()仍不工作。在(';单击';)上,在fullpage.js init之后恢复,jquery,fullpage.js,preventdefault,Jquery,Fullpage.js,Preventdefault,我知道这几乎是许多问题的重复,在加载由另一个脚本创建的dom元素后,需要使用$(document)。on('click',a')而不是$('a')。click()-但是我的代码仍然没有发挥作用 我试图做的是在我的代码中检测包含特定值(fullpage.js中节的href)的链接,并覆盖锚定并移动到节 奇怪的是,它移到了小节fine——我能够覆盖所有链接以进行测试,所以preventDefault看起来也很好,但是移到小节后它仍然会触发锚 此函数在fullpage.js的init之后触发,因此事件

我知道这几乎是许多问题的重复,在加载由另一个脚本创建的dom元素后,需要使用$(document)。on('click',a')而不是$('a')。click()-但是我的代码仍然没有发挥作用

我试图做的是在我的代码中检测包含特定值(fullpage.js中节的href)的链接,并覆盖锚定并移动到节

奇怪的是,它移到了小节fine——我能够覆盖所有链接以进行测试,所以preventDefault看起来也很好,但是移到小节后它仍然会触发锚

此函数在fullpage.js的init之后触发,因此事件处理程序似乎在正确的位置初始化,但仍然没有成功。。有什么想法吗

function overrideLinks() {

alert("overrideLinks");

//// Detect and overwrite page links from CMS to trigger fullpage nav
$("body").on('click', 'div.section a', function(e) {

    checkPath = $(this).attr('href');

    if (checkPath.indexOf("top-banner") >= 0) {
        $.fn.fullpage.moveTo(1,0);

        e.preventDefault(); 

    }

});                         

}

您是否尝试添加
e.stopPropagation();返回false?我的印象是e.preventDefault()同时包含stopPropagation和return false;-我已经试过了,但不幸的是没有运气。谢谢你的意见<代码>但是,在移动到该部分后,它仍然会触发锚定
您的确切意思是什么?我的意思是,代码被事件正确触发,如完成$.fn.fullpage.moveTo(1,0);-所以问题似乎在于preventDefault本身不起作用。将preventDefault移出if循环,它起作用了吗?