$.event.special

jq 内部方法 , 很怀疑是没什么人用还是没有人用, 感觉$.trigger() 完全可以替代这个功能

 

大概就是把 bindType 和 everyName 关联起来吧? trigger 一次触发多个事件

好像还涉及到是否冒泡的问题

 

$.event.special 似乎是一个很大的内容, 以后再深入学习

 

$.event.special参考资料:
jQuery.event自定义事件机制-jQuery.event.special范例
jQuery源码学习——event.special用于执行异步任务的实践

 

 

 

<!DOCTYPE html>
<html xmlns:th="http://www.thymeleaf.org">

	<head>
		<meta http-equiv="Cache-Control" CONTENT="no-cache" />
		<meta http-equiv="Pragma" CONTENT="no-cache" />
		<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
		<title>$.event.special</title>
	</head>

	<body>
		<div>div</div>
	</body>

	<script src="http://code.jquery.com/jquery-1.9.1.js"></script>
	<script type="text/javascript" th:inline="javascript">
		'use strict';

		//大概就是把 bindType 和 everyName 关联起来吧?
		$.event.special.everyName = {
			bindType: "click", //"click" : 一般事件命
			delegateType: "click",
			handle: function(e) {

				//不懂,当是语法格式吧
				//作用相当于 $(this).trigger("everyName")
				if($(e.target).is(this)) return e.handleObj.handler.apply(this, arguments)

			}
		}

		$.event.special.someName = {
			bindType: "everyName",
			delegateType: "everyName",
			handle: function(e) {
				if($(e.target).is(this)) return e.handleObj.handler.apply(this, arguments)
			}
		}

		$("div").on("someName", function() {
			console.log("someName")
		})
		$("div").on("everyName", function() {
			console.log("everyName")
		})
		$("div").on("click", function() {
			console.log("click")
		})

		$("div").trigger("click")
	</script>

</html>

 

 

 

 

 

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值