Javascript Jquery-.click()不滚动页面

Javascript Jquery-.click()不滚动页面,javascript,jquery,unobtrusive-javascript,Javascript,Jquery,Unobtrusive Javascript,我将在jQuery上创建一个函数,如下所示: $(document).ready(function() { $('#header_rules').click(function() { // here i define myFunction() }); }); <a id="header_rules" href="#">RULES</a> $(文档).ready(函数(){ $(“#标题_规则”)。单击(函数(){ //这里我定义myFunc

我将在jQuery上创建一个函数,如下所示:

$(document).ready(function() {
    $('#header_rules').click(function() {
      // here i define myFunction()
    });
});

<a id="header_rules" href="#">RULES</a>
$(文档).ready(函数(){
$(“#标题_规则”)。单击(函数(){
//这里我定义myFunction()
});
});
而不是

 <a id="header_rules" href="#" onClick="myFunction();return false">RULES</a>

但我不知道如何防止在有人单击链接后使用jQuery滚动到页面顶部

事实上,我将彻底摆脱原生JS,这可能会产生一些麻烦(这就是为什么我使用像jQuery这样的JS框架)


有什么帮助吗?干杯

呼叫
e.preventDefault()
其中
e
是单击处理程序的第一个参数:

$(document).ready(function() {
    $('#header_rules').click(function(e) {
        e.preventDefault();
        // here i define myFunction()
    });
});

<a id="header_rules" href="#">RULES</a>
$(文档).ready(函数(){
$(“#标题_规则”)。单击(函数(e){
e、 预防默认值();
//这里我定义myFunction()
});
});

下面的内容也会起作用,但我认为它会停止该项目上的其他单击事件

(document).ready(function() {
    $('#header_rules').click(function() {
      // here i define myFunction()
    return false;
    });
});

ThiefMaster所说的,您还可以包括
返回false在函数内部插入内联。

嗯,很好。哪个更好<代码>e.preventDefault()
或仅
返回false
e.preventDefault()
-请参阅我对另一个答案的评论。返回false也会停止事件的传播,这很可能不会导致问题,但并非真正必要,在某些情况下,它实际上可能会导致问题。这取决于您是否希望单击触发其他内容。他用正确的事件处理程序-所以他没有内联任何东西