Подтвердить что ты не робот

Ошибка загрузки JS 2.0 в IE

Может кто-нибудь сказать мне, что с этим не так, http://jsfiddle.net/Yp8Bz/? Он отлично работает в Chrome/Firefox, но в IE 8 появляется следующая ошибка:

Message: Unable to parse bindings.
Message: SyntaxError: Expected identifier, string or number;
Bindings value: click: blah, attr: {class: 'Hi'}
Line: 38
Char: 359
Code: 0
URI: http://cdnjs.cloudflare.com/ajax/libs/knockout/2.0.0/knockout-min.js
4b9b3361

Ответ 1

Поместите class в кавычки. Я использовал ту же проблему при использовании зарезервированного слова.

attr: {'class': 'Hi'}

Ответ 2

Daniel A. White уже указал вашу конкретную проблему, но если бы вы регулярно работали с классами CSS, я бы рекомендовал использовать привязку css.

http://knockoutjs.com/documentation/css-binding.html

<div data-bind="css: { profitWarning: currentProfit() < 0 }">
   Profit Information
</div>

<script type="text/javascript">
    var viewModel = {
        currentProfit: ko.observable(150000) // Positive value, so initially we don't apply the "profitWarning" class
    };
    viewModel.currentProfit(-50); // Causes the "profitWarning" class to be applied
</script>