html - 移动端radio无法选中
怪我咯
怪我咯 2017-04-17 14:41:28
[HTML讨论组]
<label for="flag1"><input type="radio" name="flag" id="flag1" value="1" /><i class="fa fa-circle-o"></i> <img src="flag1.png" /></label>
<label for="flag2"><input type="radio" name="flag" id="flag2" value="2" /><i class="fa fa-circle-o"></i> <img src="flag2.png" /></label>
<label for="flag3"><input type="radio" name="flag" id="flag3" value="3" /><i class="fa fa-circle-o"></i> <img src="flag3.png" /></label>

点第三个的时候第一个会选中,非要精确点input那个点才能选择,遇到过两次了,就是不知道什么原因造成的

怪我咯
怪我咯

走同样的路,发现不同的人生

全部回复(3)
ringa_lee

label标签不是这样用的,他的开始跟闭合标签之间不能加其他标签。否则他的for属性不起作用的。
<label for="a"></label><input type....... id="a"/>
这样就可以他会自己去找id为a的标签

ringa_lee

lable失效,/lable位置不对吧
放在input前面试试

迷茫

我发现是mui的js影响到的,具体是怎么影响的还不清楚,因为我把页面的mui.js去掉了就正常了,加上就出现异常

找到问题所在了,我在mui.js v2.8.0 第920行左右找到以下代码

var handle = function(event, target) {
    if (target.tagName === 'LABEL') {
        if (target.parentNode) {
                //问题就出在这一行
                target = target.parentNode.querySelector('input');
        }
    }
    if (target && (target.type === 'radio' || target.type === 'checkbox')) {
        if (!target.disabled) { //disabled
                return target;
        }
    }
    return false;
};

可以在引入mui之前加上以下代码解决

<script>window.FastClick = true;</script>
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号