今天遇到个奇怪问题
我用js往label标签中动态加载一组CheckBox,如下,然后在第一个checkbox中加一个点击复选框全选的方法。
当我点击复选框后面的文本时,发现会触发复选框全选点击事件,无论点击ALL,还是后面的其它文本,最后各种折腾,才发现是因为我将所有checkbox(input)放在一个label标签里面的原因,input的点击事件会延伸到整个label,导致点击后面的文本也会触发全选。
后面我就联想到将每个复选框和其对应的文本单独放在一个label里面,这样一可以避免前面的bug,二无论点击复选框还是文本都能触发复选框点击事件,体验更好,以免每次鼠标都要移到复选框上才能勾选。
可能是我第HTML标签了解的不多,是label本身的功能,但这个比较实用