事件命名空间是指多个人对同一对象添加相同的事件,那么怎么分得清呢?
事件命名空间也必须满足两个条件。
(1)事件必须通过on来绑定。(2)事件必须通过trigger或者triggerHandler来触发
并且需在事件后面加一标记。即:$(".div1").on("click.yyl",function(){})
不能使用形如$(".div1").click()这种方法来添加事件命名空间。
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>29-jQuery事件命名空间</title>
<script src="JS_file/jquery-1.12.4.js"></script>
<style>
*{
padding: 0;
margin: 0;
}
.father{
width: 200px;
height: 200px;
background: red;
}
.son{
width: 100px;
height: 100px;
background: blue;
}
</style>
<script>
$(function () {
/*
需求:一个项目由张三和李四来做,张三给 $(".son")添加了click事件,李四也给$(".son")添加了click事件,
那么如果想调用张三的click事件怎么做?
*想要事件的命名空间有效,必须满足两个条件
1.事件通过on来绑定的
2.通过trigger或者triggerHandler触发事件
* */
$(".son").on("click.zs",function (event) {
alert("click1");
});
$(".son").on("click.ls",function (event) {
alert("click2");
});
$(".son").trigger("click.zs");
})
</script>
</head>
<body>
<div class="father">
<div class="son"></div>
</div>
<a href="http://www.baidu.com">注册</a>
<form action="http://www.taobao.com">
<input type="text">
<input type="submit">
</form>
</body>
</html>