MathJax tidak berfungsi di dalam acara Jquery .click

MathJax di dalam acara Jquery .click tidak berfungsi tetapi di luar fungsi itu berfungsi.

Jalankan cuplikan kode untuk melihat efeknya.

$('#math').click(function(e){
e.preventDefault();
$("#result").html("$$ MathJax inside .click event doesn't work $$");
});
//outside .click event
$("#Outside").html("$$ \\frac{d}{dx}\\left(2x^2\\right)=\\:4x $$");
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<script src='https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.2/MathJax.js?config=TeX-MML-AM_CHTML'></script>


<button id="math"  type="submit" >
<b>ShowMathjax On click</b>
</button>
<span id="result"></span>
<div style="padding:10%;">
MathJax Outside .click event works:
<span id="Outside"></span>
</div>


person Gragas Incoming    schedule 23.02.2018    source sumber
comment
Kemungkinan duplikat MathJax di JQuery   -  person Peter Krautzberger    schedule 25.02.2018


Jawaban (1)


MathJax hanya berjalan sekali saat halaman dimuat. Jika Anda mengubah konten halaman untuk memasukkan lebih banyak matematika, Anda harus memanggil MathJax secara manual untuk memproses ulang matematika tersebut. Lihat Dokumentasi MathJax untuk detail lebih lanjut.

Dalam kasus Anda, Anda perlu mengantri panggilan ke MathJax.Hub.Typeset() untuk memproses konten yang dimodifikasi. Lihat contoh di bawah ini. (Perhatikan juga bahwa Anda perlu menggandakan garis miring terbalik dalam literal string javascript untuk memasukkan garis miring terbalik dalam matematika Anda.)

$('#math').click(function(e){
    e.preventDefault();
    $("#result").html("$$ \\text{MathJax inside .click event works!} $$");
    MathJax.Hub.Queue(['Typeset',MathJax.Hub,'result']);  // <-- YOU NEED THIS
});
 
//outside .click event
$("#Outside").html("$$ \\frac{d}{dx}\\left(2x^2\\right)=\\:4x $$");
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<script src='https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.2/MathJax.js?config=TeX-MML-AM_CHTML'></script>


<button id="math"  type="submit" >
   <b>ShowMathjax On click</b>
</button>
<span id="result"></span>
<div style="padding:10%;">
   MathJax Outside .click event works:
   <span id="Outside"></span>
</div>

person Davide Cervone    schedule 24.02.2018