【问题标题】:IE9 click orderIE9点击顺序
【发布时间】:2012-04-02 18:27:10
【问题描述】:

此代码:http://jsfiddle.net/bYtTG/1/

在 FF、chrome 和 opera 中按我的意愿工作,但在 IE 中不行:当您点击“计算器”时,它们都会禁用按钮,IE 除外。

似乎 IE 不喜欢我聚焦+模糊输入(我这样做是为了使用 Telerik 将一些只读文本框格式化为货币格式)。

关于如何解决这个问题的任何想法?我不喜欢 onChange(另外,Telerik 控件允许您使用键盘上/下箭头来更改输入值,这不会触发 onChange 事件)。

html

<div>
    <input id="a" value="2" /><br />
    <input id="b" value="3" /><br />
    <input id="c" value="" class="inactif" /><br />
    <input id="d" value="5" /><br />
    <input id="e" value="7" class="inactif" /><br />
    <input id="total"><br /><br />
</div>
<input type="button" id="btn" value="calculer" />

js

$(document).ready(function () {

    $('div input').focus(function () {
        $('#btn').removeClass("inactif");
        $('#btn').attr('disabled', false);
    });


    $('#btn').click(function () {
        //L1-L2=L3
        Calculer('a', '+', 'b', 'c');
        Calculer('c', '-', 'd', 'total');
        Calculer('d', '+', 'e', 'total');

        //those line seems to be "ignored"
        $('#btn').delay(500).addClass("inactif");
        $('#btn').delay(200).attr('disabled', true);
    });

    function Calculer(idFacteur1, operande, idFacteur2, idResultat) {
        var val1 = parseInt($('#' + idFacteur1).val());
        var val2 = parseInt($('#' + idFacteur2).val());
        var res = 0;
        if (operande == "+") {
            res = val1 + val2;
        } else {
            res = val1 - val2;
        }
        $('#' + idResultat).val(res);
        $('#' + idResultat).focus().blur();
    }

});

【问题讨论】:

    标签: javascript jquery telerik internet-explorer-9


    【解决方案1】:

    为什么不能只调用输入项的 .change() 事件而不是 focus().blur()?只要 Telerik 认为这是一个有效的格式化事件,它就可以正常工作。

    【讨论】:

    • 因为用.change() 替换.focus().blur() 不会触发Telerik 重新格式化输入框:输入显示(div 覆盖)保持空白,尽管输入的值很好。
    【解决方案2】:

    我用setTimeout 解决了这个问题

        setTimeout(function () {
            $('#btn').addClass("inactif");
            $('#btn').attr('disabled', true);
        }, 300);
    

    【讨论】:

      猜你喜欢
      • 2017-06-12
      • 2023-03-26
      • 2012-02-17
      • 2014-12-24
      • 1970-01-01
      • 2023-03-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多