我正在学习 jQuery ,我希望澄清e.preventDefault()
的作用。根据我的阅读,它可以防止事件的默认行为。
在我的情况下的一个例子是我有一个锚标记而不是带我到一个新页面,我希望它在我的屏幕上显示一个模态。所以我的 jQuery 看起来像这样
$(document).ready(function() {
$('#boxShow').click(function(e) {
e.preventDefault();
$("#light").fadeIn();
$('#fade').fadeIn();
});
preventDefault()
能让我执行不同的活动吗?
如果这是一个愚蠢的问题,请道歉
答案 0 :(得分:3)
这很简单,它可以防止默认事件发生。例如,<a>
元素通常会在点击时打开链接。要覆盖它,您需要使用此功能。
使用event
代替首字母缩写e
后,这会更容易阅读。
$('a').click(function(event){
event.preventDefault();
});
答案 1 :(得分:2)
对于锚元素,“默认事件”是读取href
(超文本引用)值,并为此位置形成HTTP请求。简而言之,它会将用户定向到href
值的网址。
因此preventDefault()
会阻止href
属性调用HTTP请求,只需在下面运行您的代码。即2 fadeIn()
种方法。
答案 2 :(得分:1)
根据documentation,e.preventDefault();
会阻止触发事件的默认操作。
如果是锚点/超链接,它应该阻止链接重定向到指定位置。
答案 3 :(得分:1)
答案 4 :(得分:0)
e.preventDefault();
将阻止操作的默认行为
如果锚(a)它将阻止打开与锚相关联的新URL。
如果是表格,将阻止提交表格。
但是e.preventDefault();不会在IE中工作,因为我不支持它。你应该使用e.returnValue = false;
代码:
if(e.preventDefault){
e.preventDefault();
}
else{
e.returnValue = false;
}