我一直在看某人发布的一些代码,我无法理解他为什么使用preventDefault。
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/
发布于 2014-03-27 06:44:08
来自医生:
如果调用此方法,则不会触发事件的默认操作。
因此,如果您的按钮是一个输入提交按钮,event.preventDefault()将阻止您的按钮的默认行为,并阻止您的表单提交和重新加载页面。当您想要应用阿贾克斯调用时,这通常是有用的。
发布于 2014-03-27 06:45:38
如果按钮是submit类型的,如果是anchor,如果使用preventDefault(),则不会触发事件的默认操作。
如果您不想停止元素的默认操作,那么它不会产生任何影响。
https://stackoverflow.com/questions/22680126
复制相似问题