在click事件中使用“preventDefault”有什么用?

时间:2013-02-13 03:37:13

标签: javascript preventdefault

请您帮助我理解以下代码的作用:

var FluidNav = {
    init: function() {
        $("a[href*=#]").click(function(e) {
        e.preventDefault();
            if($(this).attr("href").split("#")[1]) {
                FluidNav.goTo($(this).attr("href").split("#")[1]);
            }
        });
        this.goTo("home");
    },

我很困惑为什么他们会在那里包含一个preventDefault。有什么想法吗?

编辑:

其余代码:

goTo: function(page) {
        var next_page = $("#"+page);
        var nav_item = $('nav ul li a[href=#'+page+']');
        $("nav ul li").removeClass("current");
        nav_item.parent().addClass("current");
        FluidNav.resizePage((next_page.height() + 40), true, function() {
             $(".page").removeClass("current"); next_page.addClass("current"); 
        });
        $(".page").fadeOut(500);
        next_page.fadeIn(500);

        FluidNav.centerArrow(nav_item);

    },

1 个答案:

答案 0 :(得分:3)

$("a                 // select <a> elements 
[href*=#]")          // which have an href attribute that contains #
.click(function(e) { // and bind a click event handler

点击链接时,preventDefault()会阻止浏览器导航到新页面或跳转到同一页面中的其他位置。

  

说明: 如果调用此方法,则不会触发事件的默认操作。