情况描述:在页面中input 和 label 通过for banding 然后点击input 或者label的时候都要执行一个方法
但是在点击label的时候有两次执行两次的情况,及监听到的click---事件冒泡。
解决方案:1:不用label 2:解决它
这里提供一种时间戳的解决方案
页面HTML:
<span onclick="checkremark(this)"> <input type="checkbox" id="checkbox5" /><label for="checkbox5">其他</label></span>
js:
var evTimeStamp = 0; function checkremark(dom) { var now = +new Date(); if (now - evTimeStamp < 100) { return; } evTimeStamp = now; var html = dom.children[1].innerHTML; //这里写逻辑 }
时间小于100是自己设定的值,可以改。