我正在Chrome / Safari中测试一些jQuery,我似乎无法解决此错误。基本上,我在做:
jQuery(':radio', '.some_class')
.change(function() {
jQuery('.special_class').show();
})
.blur(function() {
jQuery('.special_class').hide();
});
我根本没有爱情?甚至尝试了
jQuery('.special_class').css('display','none');
那也是帮助 - “.some_class”显示正常,但不想消失?
修改:HTML代码为:
<div class="some_class">
<label for="button"><input type="radio" name="style" id="button" value="button" />Button</label>
</div>
<div class="special_class">Hello There!</div>
编辑2:甚至更奇怪的是,当我“标签”时 - 它有效吗?但使用“点击”它不是吗?
有什么想法吗?
答案 0 :(得分:1)
模糊事件并不意味着“取消选择”。这意味着“丢失键盘焦点”。您需要为更改事件处理程序添加一些额外的逻辑,以检测是否已选择或取消选择单选按钮。
答案 1 :(得分:0)
我认为“模糊”事件存在问题。看here
Safari和Chrome在所有情况下都不支持链接和/或表单字段上的这些事件。
答案 2 :(得分:0)
我一直在使用一些额外的css在我的一个网站上解决这个问题。隐藏元素时,请尝试此css(通过使用这些属性添加/删除额外的类,或使用jquery .css)
display:none; opacity:0; pointer-events:none;
并显示
display:block; opacity:1; pointer-events:auto;
有时我也会发现只显示:无/块对于Safari来说是不够的,但这很好地解决了它。