Ajax 呼び出しに基づいて値を動的に挿入するために、knockout.js を使用しています。これらの値の 1 つである content.front は、MathJax 式を含むことができる utf8 テキストです。knockout.js が div を更新するたびに、MathJax に式をレンダリングさせる方法を見つけようとしています。私はそれをうまく機能させることができず、その理由がわかりません。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">
(この Hamlet がレンダリングする html は有効な html 5 です...)
現状では、knockout.js は適切な div でテキストをレンダリングしています。テキストを変更すると、divも変更されます。そして、MathJax がトリガーされているようです。小さな「Typesetting 100%」ポップアップが表示されます。しかし、divは変更されていません。