MathJax ไม่ทำงานภายในเหตุการณ์ Jquery .click

MathJax ภายในเหตุการณ์ Jquery .click ไม่ทำงาน แต่ทำงานนอกฟังก์ชันนั้น

เรียกใช้ข้อมูลโค้ดเพื่อดูผลกระทบ

$('#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 แหล่งที่มา
comment
อาจซ้ำกันของ MathJax ใน JQuery   -  person Peter Krautzberger    schedule 25.02.2018


คำตอบ (1)


MathJax ทำงานเพียงครั้งเดียวเมื่อโหลดเพจแล้ว หากคุณเปลี่ยนเนื้อหาของหน้าเพื่อเพิ่มคณิตศาสตร์ คุณจะต้องเรียก MathJax ด้วยตนเองเพื่อประมวลผลคณิตศาสตร์ใหม่ ดูเอกสารประกอบ MathJax สำหรับรายละเอียดเพิ่มเติม

ในกรณีของคุณ คุณต้องจัดคิวการโทรไปที่ MathJax.Hub.Typeset() เพื่อประมวลผลเนื้อหาที่แก้ไข ดูตัวอย่างด้านล่าง (โปรดทราบว่าคุณต้องใส่แบ็กสแลชสองเท่าในตัวอักษรสตริงจาวาสคริปต์เพื่อรวมแบ็กสแลชไว้ในคณิตศาสตร์ของคุณ)

$('#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