javascript中类似preventDefault()的功能

javascript中类似preventDefault()的功能,javascript,jquery,function,preventdefault,Javascript,Jquery,Function,Preventdefault,我已经讨论过这个问题了 但是没有找到我的解决办法。实际上,我正在使用javascript函数返回到上一页,在单击 <a href="#" onclick="goBack()"><img src="images/backbtn.png"></a> 当我点击时,它在我想要阻止的url中包含#。在jquery中,我们使用preventDefault()来停止元素的默认事件,但是javascript中是否有类似的函数来停止它 我知道我可以在href中使用javas

我已经讨论过这个问题了

但是没有找到我的解决办法。实际上,我正在使用javascript函数返回到上一页,在单击

<a href="#" onclick="goBack()"><img src="images/backbtn.png"></a>
当我点击
时,它在我想要阻止的url中包含
#
。在jquery中,我们使用
preventDefault()
来停止元素的默认事件,但是javascript中是否有类似的函数来停止它

我知道我可以在
href
中使用
javascript:void(0)
,这将解决问题,但可能还有许多其他实例,因此我想了解javascript中的函数

我尝试使用
returnfalse但我是这样写在上面的

function goBack(){
    return false;
    window.history.back();
}
function goBack(){
    window.history.back();
    return false;
}
然后它停止函数执行,如果我这样写

function goBack(){
    return false;
    window.history.back();
}
function goBack(){
    window.history.back();
    return false;
}
然后,此
返回false不会产生任何影响。我确信javascript中有一些东西,因为jquery是从javascript生成的


任何帮助都将不胜感激。提前谢谢

据我所知,preventDefault()也是一个本机JS函数,因此您可以在不使用jQuery的情况下使用它,并获得相同的结果

您可以在此处阅读更多信息:

event.preventDefault()在JavaScript和Jquery中都可用

如果获取
是问题所在,并且出于某种原因,您确实希望只使用
preventDefault()
,则必须将
事件
传递到函数中,然后在函数内部使用
事件.preventDefault()

存在于javascript中,但如果您对类似jQuery的解决方案感兴趣,则需要注意兼容性问题。 考虑到与旧浏览器的兼容性问题,另一种解决方案是:

功能goBack(evt){
var e=evt | | window.event;
如果(e!==未定义){
如果(如默认){
e、 预防默认值();
}否则{//IE
e、 returnValue=false;
}
}
window.history.back();
}

要添加到答案中,jquery中的
返回false
会执行
事件.preventDefault
事件.stopPropagation()

从jquery源代码中,
jquery.event.dispatch

if ( ret !== undefined ) {
   if ( (event.result = ret) === false ) {
     event.preventDefault();
     event.stopPropagation();
   }
}
和都可以在Javascript中使用

对于IE<9,
event.stopPropagation
可以通过
event.cancelBubble=true来完成

事件.preventDefault
可以通过
event.returnValue=false

执行,为什么要停止
窗口.history.back()在什么情况下?您试图阻止什么??你的问题不清楚。。你在问题上提出的那部分没问题。。但你想什么时候阻止这一事件?什么时候不去??事件是如何产生的?原因可能有很多。但是这里我想要,因为我在点击
标签时使用这个函数,该标签具有属性
href=“#”
,我不想在点击时在url中显示
。我知道我可以在这里使用
javascript:void(0)
,但我想使用像
preventDefault()
这样的函数,因为正如我所说的,可以有很多实例。据我所知
Event.preventDefault()
是一个本机javascript函数
window.history.back()
。Gaurav仅使用它从位置删除
,但使用
preventDefault
将不会被添加。@szym我相信问题是他可以返回到上一页,但在上一页url中仍然得到
。。
if ( ret !== undefined ) {
   if ( (event.result = ret) === false ) {
     event.preventDefault();
     event.stopPropagation();
   }
}