使用jQuery停止操作.preventDefault()

因为未遵循该操作,所以我们可能需要知道用户何时提示该操作,并可以使用event.isDefaultPrevented()来确定是否由此事件触发的事件处理程序调用了此方法。 这可用于触发函数调用。 对于jQuery中带有XHtmlRequest的动态URL来获取带有模块的页面(例如href =” index.php?page = contact而不是contact.php),也可能很有用。 您可能还需要查看MOD Rewrite选项,这些选项也可以提供此功能和SEO优点。 jQuery Stop事件函数 。 请注意,如果您使用的是$(document).bind(“ keydown keypress”,function(event),则e.preventDefault()无法正常工作.. event.preventDefault()。有时您需要一个超链接是一个超链接,但是您不希望它处理并打开链接,而只是调用一个javascript函数说,幸运的是jQuery中有一个函数可以停止超链接操作。

jQuery Preventdefault函数演示

示例1 –防止和捕获超链接单击

< !DOCTYPE html>


  default click action is prevented

  
  

示例2 –阻止表单提交按钮

$('#myform').submit(function(event) {
	event.preventDefault();
	var self = this;
	window.setTimeout(function() {
		self.submit();
	}, 2000);
});

示例3 –将超链接目标延迟到动画效果之后

$("#ELEMENT_WHICH_AFFECT_THE_SLIDEUP")
.click(function(event){
	event.preventDefault(); // prevents link to be redirected
	var time = 1000; // time for slideup effect
	var url = $(this).attr("href"); // pick url for redirecting via javascript

	$("#ELEMENT_TO_SLIDE_UP").slideUp(time); // effect
	window.setTimeout(function(){document.location.href=url;}, time); // timeout and waiting until effect is complete
	return -1;
});

示例4 –禁用向下滚动按钮

$(document).keydown(function(event){
	// Move Down
	if(event.keyCode == '40'){
		event.preventDefault();
		var posY = $('#'+selectedTxtID).css('top');
		posY = parseFloat(posY);
		var newPosY = posY + 1;
		$('#'+selectedTxtID).css('top', newPosY+'px');
	}
})

此功能不仅可以用于超链接,还可以用于具有您希望防止的默认操作的任何东西。

From: https://www.sitepoint.com/stop-actions-jquery-preventdefault/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值