问题描述
今天发现不管是用on还是直接使用click,绑定同一个事件两次,事件不会覆盖而是会绑定两个,代码如下:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>龙哥你好</title>
<style>
</style>
</head>
<body>
<button id="dd">点我</button>
<script src="jquery.min.js"></script>
<script>
$("#dd").click(()=>{
console.log("点击事件一");
});
$("#dd").click(()=>{
console.log("点击事件二");
});
</script>
</body>
</html>
效果如图所示,点一次按钮会触发两个点击事件:
解决办法
先解绑事件再新增事件,如下:
$("#dd").unbind().click(()=>{
console.log("点击事件一");
});
$("#dd").unbind().click(()=>{
console.log("点击事件二");
});
注意如果有同一配置冒泡事件就得再重新写一遍