优艾设计网

label包裹着input,给label加点击事件会响应两次 财富值81?

优艾设计网 https://www.uibq.com 2023-04-24 15:13 出处:网络 作者:磨皮美容教程
label包裹着input,给label加点击事件会响应两次 <!doctype html> <html lang=\"en\"> <head> <meta charset=\"UTF-8\"> <tit优艾设计网_设计圈le>Document</title> </head&g

label包裹着input,给label加点击事件会响应两次

<!doctype html> <html lang="en"> <head> <meta charset="UTF-8"> <tit优艾设计网_设计圈le>Document</title> </head> <body> <label for="innerIpt1"><input id="innerIpt1" type="checkbox"/>label1 </label><input id="innerIpt2" type="checkbox"/> <label for="innerIpt2" id="label2">label2 </label> <script>var label1 = document.querySelector("label"); var label2 = document.querySelector("#label2"); var input1 = document.querySelector("#innerIpt1"); var input2 = document.querySelector("#innerIpt2");label1.addEventListener("click", function() { console.log("label1"); }, false); input1.addEventListener("click", function(e) { // e.stopPropagation() console.log("input1"); }, false);label2.addEventListener("click", function() { console.log("label2"); }, false);input2.addEventListener("click", function(e) { e.stopPropagation() console.log("input2"); }, false); </script> </body> </html>

点击label1的时候,console输出:

label1
input1
lable1


啤酒瓶空了缓 优艾设计网_设计LOGO 2022-09-10 19:06

代码贴出来看看,


360U3368259201 2022-09-10 19:07

我觉得是这样的 label 标签与 inpu优艾设计网_电脑技术t 相关联,点击 label 就相当于点击了 input 标签。然后流程是这样的 1.点击 label 执行本身的事件 输出 label1 2.因为点击 label 就相当于点击了 input 标签,所以执行 input 上的事件 输出 input1 3.因为 label 包含了 input,所以事件向上冒泡 执行 label事件 输出 label1


泪冰清 2022-09-10 19:22

你把 false改成true就可以了,这有优艾设计网_设计圈关系到时间的捕获和冒泡


0

精彩评论

暂无评论...
验证码 换一张
取 消