Я использую Knockout.js для динамической вставки значений на основе вызова Ajax. Одно из этих значений, content.front, представляет собой текст utf8, который может содержать выражения MathJax. Я пытаюсь понять, как заставить MathJax отображать выражения каждый раз, когда Knockout.js обновляет div. Я не могу заставить его работать, и я не уверен, почему. Вот JavaScript:
var ViewModel = function(data) {
var self = this;
self = ko.mapping.fromJS(data, {}, self);
self.content.back.subscribe( function() {
MathJax.Hub.Queue(["Typeset", MathJax.Hub,"preview-back"]);
});
};
и Гамлет:
<div .wrap>
<div .tab-content>
<div .tab-pane #preview-back data-bind="text: content.back">
(HTML, который отображает этот Гамлет, действителен html 5...)
В нынешнем виде Knockout.js отображает текст в соответствующем div. И когда я меняю текст, div тоже меняется. И MathJax, похоже, срабатывает — всплывает маленькое всплывающее окно «Набор текста 100%». Но div не меняется.