这是我在这里的第一篇文章 - 你好,每个人
我目前正在开发一个支持css和jquery的html表单。该表格将由“没有经验的用户”使用,因此我的重点在于良好的可用性。因此,我提供了对每个输入字段的提示以及进一步的说明。为了显示我正在使用onfocus / onblur javascript事件的提示,所以一次只显示一个提示。当我只有type="text"
的输入字段但输入字段为type="radio"
时,我的浏览效果很好。我在谷歌浏览器中遇到了麻烦。
我在jsfiddle.net 上做了一个快速示例,以便您了解我的意思。那里的代码与我在表单中使用的代码非常相似,所以我不打算在这里发布它。到目前为止,我测试的每个浏览器中都会弹出警报,但谷歌浏览器除外。我想知道为什么?是否有任何已知的解决方案或解决方法?
答案 0 :(得分:4)
来自quirksmode:
Safari和Chrome不会触发 用户使用时聚焦/模糊事件 鼠标访问复选框,无线电 或按钮。文本字段,textareas和 选择框正常工作。
有一些建议可以解决这个here。
答案 1 :(得分:3)
$('input').on({
click: function (e) {
this.focus();
$('#' + this.id + 'msg').show();
},
blur: function (e) {
$('#' + this.id + 'msg').hide();
}
});
答案 2 :(得分:2)
blur
适用于某些版本的Chrome(但不适用于我的10.0.648.205),但前提是您要远离整个元素集合。不确定这是否有用,但这可行:
$('input:radio').click(function() {
alert('why does this not show up in google chrome?!');
});
HTH。