我被要求禁用复选框的“勾选”。我没有被要求禁用复选框,而是简单地禁用“滴答”。
换句话说,用户会认为复选框是可勾选的,但事实并非如此。相反,单击复选框将导致出现模式对话框,为用户提供更多选项来打开或关闭复选框所代表的功能。如果在对话框中选择的选项导致该功能被打开,则该复选框将被勾选。
现在,真正的问题是,在一瞬间,您仍然可以看到复选框被选中。
我尝试过这样的方法:
<input type='checkbox' onclick='return false' onkeydown='return false' />
$('input[type="checkbox"]').click(function(event) {
event.preventDefault();
alert('Break');
});
如果您运行此程序,将出现警报,显示刻度是可见的(警报只是在那里证明它仍然被打勾,在生产中,警报不存在)。在一些机器速度较慢的用户和/或渲染器/javascript 速度较慢的浏览器中,用户可以看到非常微弱的闪烁(闪烁有时会持续半秒,这一点很明显)。
我团队中的一名测试人员将此标记为缺陷,我应该修复它。我不确定还有什么方法可以防止复选框中的勾闪烁!