javascript - 文本转换 :uppercase bug in Google Chrome v. 22

标签 javascript css google-chrome

<分区>

我在 Chrome(版本 22.0.1229.79)中遇到了一个错误(从上周开始),其中一些 javascript 试图将字段值转换为大写。它似乎与同时使字段值看起来大写的 CSS (text-transform:uppercase) 冲突。
当跳出该字段时,onChange 事件处理程序将尝试将字段值更改为大写,但结果是该字段变为空。但是,如果您再次尝试在该字段中键入内容,您之前的文本会重新出现。

有没有人见过同样的事情?我认为它需要向 Google 报告。

这是一个测试用例... http://jsfiddle.net/fhBx2/2/

<script>
function upperKey(obj) 
{
    var val = obj.value;
    if(val != null)
    {
        obj.value = val.toUpperCase();
    }    
}
</script>

<input type="text" style="text-transform:uppercase;" 
onchange="upperKey(this);"/>

最佳答案

对于实际上对此有疑问的任何人,我发现您可以通过将值重置为空白然后恢复为大写的原始值来解决此问题。

$(function() {
    $('input').change(function(e) {
        var val = $(this).val().toUpperCase();
        $(this).val('').val(val);
    });
});​

查看更新的 fiddle :http://jsfiddle.net/JXA8K/2/

关于javascript - 文本转换 :uppercase bug in Google Chrome v. 22,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12670542/

相关文章:

php - 从 PHP 调用 JavaScript 函数的问题

javascript - 窗口事件上的 JQuery 函数 : combine load and resize

javascript - Angular 服务调用另一个服务

html - ASP :Textbox width

html - 网站在除 chrome 之外的所有浏览器上呈现完美

javascript - cordova admob 插件工作但有 Uncaught ReferenceError

html - CSS:在纯 CSS 箭头上制作边框

css - JAWR 生成器使用较少的 css 找不到 jawr_generator.css

css - 已编辑的 Chrome 扩展程序 - chrome 认为它是恶意软件

javascript - 开发 Chrome 扩展时,如何打开空白页面来运行脚本?