首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用preventDefault

使用preventDefault
EN

Stack Overflow用户
提问于 2014-03-27 06:43:12
回答 2查看 233关注 0票数 1

我一直在看某人发布的一些代码,我无法理解他为什么使用preventDefault。

代码语言:javascript
复制
var $windows = $('#tgx-window,#tgs-window,#tgm-window,#tgl-window'), $buttons = $('#tgx-button,#tgs-button,#tgm-button,#tgl-button');
$windows.hide();

$buttons.on('click', function(e) {
    var $id;
    e.preventDefault();
    $buttons.removeClass('closebutton');
    $id = $('#' + this.id.split('-')[0] + '-window');// Get window id
    $windows.slideUp();
    if(! $id.is(':visible') ) {
        $id.slideDown();
        $(this).addClass('closebutton');
    }
});

不管有没有它,它的行为似乎完全一样。到目前为止,我的最佳猜测是,在函数体中使用预防性practice /返回false是常见的做法。

我的问题是他为什么要用那个方法?

哦,是啊。我是JavaScript的新手。

http://jsfiddle.net/62NPt/53/

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-03-27 06:44:08

来自医生:

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

因此,如果您的按钮是一个输入提交按钮,event.preventDefault()将阻止您的按钮的默认行为,并阻止您的表单提交和重新加载页面。当您想要应用阿贾克斯调用时,这通常是有用的。

票数 3
EN

Stack Overflow用户

发布于 2014-03-27 06:45:38

如果按钮是submit类型的,如果是anchor,如果使用preventDefault(),则不会触发事件的默认操作。

如果您不想停止元素的默认操作,那么它不会产生任何影响。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/22680126

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档