jQuery事件
$(
function(){
$("#main").on('click mousemove',function(event){
if(event.type === 'click'){
alert("被单击")
}
if(event.type === 'mousemove'){
alert("鼠标移动")
}
})
}
)
事件绑定
-
- $(selector).on(types,childSelector,data,handleFunction)
-
-
-
- 必须,添加事件的类型,可以添加多个事件
- 如 'click'
<script>
$(
function(){
$("#btn").on('click',function(){
alert("按钮被按下");
})
}
)
</script>
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title></title>
<script src="js/jquery-3.7.1.js"></script>
<script>
$(
function(){
$("#btn").on('click',function(){
$("#ul").append("<li>101112</li>")
})
//添加事件
$("#btn2").on('click',function(){
$("#ul").on('click',$('li'),function(){
alert(111)
})
})
}
)
</script>
</head>
<body>
<ul id="ul">
<li>123</li>
<li>456</li>
<li>789</li>
</ul>
<input id="btn" type="button" value="添加li标签"/>
<input id="btn2" type="button" value="添加click事件"/>
</body>
</html>
-
- type 事件类型
- data 要传输的数据
- fn 回调函数
- 不能为未来元素绑定事件
事件解绑
- off(types,childSelector) 用于接触某个使用on()绑定的事件元素对象
-
-
- 可选,规定要从被选元素移出的一个或多个事件或命名空间
$(
function(){
$("#btn").on('click',function(){
console.log("off");
$("#main").off('click mousemove');
})
}
)
事件触发
- triggerHandler('eventObject')
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title></title>
<script src="js/jquery-3.7.1.js"></script>
<script>
$(
function(){
$("#submit").on("click",function(){
alert("提交按钮被点击")
})
$("#btn").on('click',function(){
$("#submit").trigger("click")
})
$("#btn2").on('click',function(){
$("#submit").triggerHandler("click")
})
}
)
</script>
</head>
<body>
<input id="btn" type="button" value="触发提交按钮事件">
<input id="btn2" type="button" value="触发提交按钮事件但不触发默认行为">
<form action="xxx" method="post">
<input id="submit" type="submit" value="提交">
</form>
</body>
</html>
event事件对象
-
-
-
- 设置或获取鼠标指针相对于窗口客户区域的X坐标,其中客户区域不包括窗口自身的空间和滚动条
-
-
-
- 设置或获取鼠标指针相对于窗口客户区域的Y坐标,其中客户区域不包括窗口自身的空间和滚动条
-
-
-
- 当前执行的处理器被绑定的时候,包含的数据传递(新增)
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title></title>
<script src="js/jquery-3.7.1.js"></script>
<script>
$(
function(){
$("#main").on('click',function(){
alert("div被点击")
})
$("#link").on('click',function(){
alert('超链接被点击')
})
//阻止事件冒泡
$("#main2").on('click', function () {
alert("div被点击")
})
$("#link2").on('click', function (event) {
//阻止事件冒泡
event.stopPropagation()
alert('超链接被点击')
})
//阻止默认事件
$("#link3").on('click',function(event){
//阻止默认事件
event.preventDefault()
alert("被点击")
})
}
)
</script>
</head>
<body>
<div id="main" style="width: 100px;height: 100px; background-color: aqua;">
<a id="link" href="#">超链接</a>
</div>
<div id="main2" style="width: 100px;height: 100px; background-color: aqua;">
<a id="link2" href="#">超链接</a>
</div>
<a id="link3" href="www.baidu.com">超链接</a>
</body>
</html>