javascript禁用链接跳转等默认动作

December 09, 2023
测试
测试
测试
测试
1 分钟阅读

举一个简单的例子。

比如,有一个链接,你要在这个链接跳转前执行一些其他操作,显然,我们能想到给它添加一个单击(onclick)事件,然后执行其他的一些操作,但是你会发现,你所定义的单击事件里的操作并没有执行,而直接进行了页面跳转。那这样,我们就应该先要禁用它的链接,然后执行自定义的操作,再进行跳转或执行其他操作,那么,我们该如何禁用链接,禁用它的默认动作呢?这个问题,我们在开发中很少遇到,但遇到了也并不难处理。

JavaScript有一个方法,preventDefault(),取消事件的默认动作。

<script type="text/javascript">
$("a").click(function(event){
    event.preventDefault();//禁用默认动作
    var url = $(this).attr("href");
    window.location.href = url;//执行页面跳转
})
</script>

在w3school上是这么定义的:

该方法将通知 Web 浏览器不要执行与事件关联的默认动作(如果存在这样的动作)。例如,如果 type 属性是 "submit",在事件传播的任意阶段可以调用任意的事件句柄,通过调用该方法,可以阻止提交表单。注意,如果 Event 对象的 cancelable 属性是 fasle,那么就没有默认动作,或者不能阻止默认动作。无论哪种情况,调用该方法都没有作用。

继续阅读

更多来自我们博客的帖子

如何安装 BuddyPress
由 测试 December 17, 2023
经过差不多一年的开发,BuddyPress 这个基于 WordPress Mu 的 SNS 插件正式版终于发布了。BuddyPress...
阅读更多
Filter如何工作
由 测试 December 17, 2023
在 web.xml...
阅读更多
如何理解CGAffineTransform
由 测试 December 17, 2023
CGAffineTransform A structure for holding an affine transformation matrix. ...
阅读更多