3

我对 Angularjs 版本 1.0.1 有一点问题。我创建了一个应用程序并在 IE8 中以 IE7 模式对其进行了测试,它不听 ng-change 或 ng-click,没有测试其他句柄,但至少这两个对我不起作用......(所有其他浏览器很好)我希望你们能帮我解决这个问题,或者我在这里遗漏了一些东西...... IE7 / 8有特殊处理吗?

在这里你可以看到控制器:

CalculatorCtrl = function($scope) {
    $scope.btw = 1;
    $scope.input = 0.00;
    $scope.output = 0.00;

    $scope.getBedrag = function() {
        var input = $scope.input;
        var btw = $scope.btw;       
        var output = 0.0;

        if(input != 0) {
            input = parseFloat(input.replace (",", "."));
            var tmp = input+"";
            $scope.input = tmp.replace(".", ",");
        }

        if($scope.isNumber(input)) {
            output = $scope.calculateBedrag(input);

            if(btw == 1) output = output * 1.19;

            $scope.output = output.toFixed(2).replace('.', ',');
        } else {
            //alert('Voer een bedrag in a.u.b.');
            $scope.input = 0;
            $scope.output = 0;
        }
    }
}

在 html 中,我只是使用:

<input autocomplete="off" ng-model="input" class="x-width" type="text" name="bedrag" value="" ng-change="getBedrag()" />
<input class="x-width" disabled="disabled" type="text" name="bedrag" value="{{output}}" />

希望可以有人帮帮我 :)

编辑: 嗯,我在 IE7 模式下尝试了 IE Tester,也没有工作。我没有任何带有真正IE7 的机器,所以我无法测试...

4

3 回答 3

1

还要确保您的应用程序遵循文档中列出的 IE 指南。http://docs.angularjs.org/guide/ie

于 2012-09-22T13:48:28.187 回答
0

好吧,文档说:

“基于 Webkit 的浏览器(Safari、Chrome、iPhone、Android、WebOS、BlackBerry 6)、Firefox、IE6 及更高版本。注意 CSS 仅适用于 IE7 及更高版本。”

所以它应该工作正常。兼容模式有点奇怪,如果他们在那种模式下测试它,我会感到惊讶。

我真的无法想象为什么你需要它在那种模式下工作——如果你在 Intranet 上,你可以通过组策略更改 IE 的设置(据我所知)以使用兼容模式停止​​它。

于 2012-08-01T16:04:07.467 回答
0

为了让它工作,你必须使用类来定义你的 Angular 标记。例如:

<div class="ng-controller:CalculatorCtrl">

代替

<div ng-controller="CalculatorCtrl">

于 2012-09-27T13:24:52.820 回答