preventDefault() 方法 取消掉与事件关联的默认动作

preventDefault()

前几天写的 响应键盘的图片切换 中, 键盘总是让浏览器滚动,为了取消掉默认的事件,使用了 preventDefault() 方法

定义和用法

preventDefault() 方法取消事件的默认动作。

语法

 
 

说明

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

例子:

 1  // 响应键盘
 2  $(document).keydown( function (event){ 
 3     event  =  event  ||  window.event;
 4      if (event.keyCode == 38   ||  event.keyCode == 37 ){ 
 5      clearInt();
 6      roll( - 1 );   
 7     event.preventDefault();  // 这里取消掉键盘触发的默认事件 
 8      };
 9      if (event.keyCode == 40   ||  event.keyCode == 39 ){   
10      clearInt();
11      roll( 1 );   
12      }; 
13      event.preventDefault();
14     })

点此查看完整例子

转载于:https://www.cnblogs.com/trance/archive/2009/04/23/1442123.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
如果想取消通过event.preventDefault()方法阻止的默认提交行为,可以使用event.returnValue属性来实现。在事件处理函数中将event.returnValue设置为true即可取消阻止默认提交行为的效果。 以下是一个示例代码: ```javascript const form = document.getElementById('myForm'); form.addEventListener('submit', function(event) { event.preventDefault(); // 阻止默认提交行为 // ... const xhr = new XMLHttpRequest(); xhr.open('POST', 'path/to/servlet', true); xhr.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded'); xhr.onreadystatechange = function() { if (xhr.readyState === 4 && xhr.status === 200) { console.log(xhr.responseText); event.returnValue = true; // 取消阻止默认提交行为 form.submit(); // 手动触发表单提交 } }; const data = new FormData(form); xhr.send(data); }); ``` 在上面的代码中,我们在事件处理函数中阻止了表单的默认提交行为,然后使用XMLHttpRequest对象发送了一个POST请求。当请求完成后,我们将event.returnValue设置为true,表示取消阻止默认提交行为的效果。最后,我们手动触发了表单的提交,这样表单的数据就会被浏览器自动打包成一个请求体,并发送给后端Servlet进行处理。 需要注意的是,取消阻止默认提交行为的效果可能会导致表单提交失败,比如表单中存在未填写的必填项或者格式不正确的数据。因此,在设置event.returnValue为true之前,需要确保表单中的数据已经通过了前端的校验。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值