9

这是我在这里的第一篇文章-大家好

我目前正在开发一个支持 css 和 jquery 的 html 表单。该表单将由“没有经验的用户”使用,因此我的重点在于良好的可用性。因此,我为每个输入字段提供了提示以及进一步的说明。为了显示提示,我使用了 onfocus/onblur javascript 事件,因此一次只显示一个提示。当我只有输入字段时,这很有效type="text",但是输入字段type="radio"我在谷歌浏览器中遇到了麻烦。

我在jsfiddle.net上做了一个简单的例子,所以你可以明白我的意思。那里的代码与我在表单中使用的代码非常相似,所以我没有费心把它贴在这里。到目前为止,除了谷歌浏览器之外,我测试的每个浏览器都会弹出警报。我想知道为什么?是否有任何已知的解决方案或解决方法?

4

3 回答 3

5

工作样本

$('input').on({
    click: function (e) {
        this.focus();
        $('#' + this.id + 'msg').show();
    },
    blur: function (e) {
        $('#' + this.id + 'msg').hide();
    }
});
于 2011-04-21T13:58:24.593 回答
4

quirksmode

当用户使用鼠标访问复选框、单选框或按钮时,Safari 和 Chrome 不会触发焦点/模糊事件。文本字段、文本区域和选择框工作正常。

这里有一些解决这个问题的建议。

于 2011-04-21T13:44:00.413 回答
2

blur将适用于某些版本的 Chrome(但不是我的 10.0.648.205),但前提是您远离整个元素集合。不确定这是否有帮助,但这会起作用:

$('input:radio').click(function() {
    alert('why does this not show up in google chrome?!');
});

HTH。

于 2011-04-21T13:38:38.897 回答