2

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は変更されていません。

4

1 に答える 1