2011-10-28 47 views
8

Làm cách nào để sửa đổi ví dụ mathjax này thành xem trước trực tiếp khi tôi nhập? Ngay bây giờ nó chỉ hiển thị kết quả sau khi tôi đã nhấn enter. Tôi muốn tinh chỉnh nó để nó hoạt động tương tự như cách stackoverflow/math.stackexchange hiển thị bản xem trước khi gõ một câu hỏi.Hiển thị đầu ra mathjax trong thời gian thực

<html> 
<head> 
<title>MathJax Dynamic Math Test Page</title> 

<script type="text/x-mathjax-config"> 
    MathJax.Hub.Config({ 
    tex2jax: { 
     inlineMath: [["$","$"],["\\(","\\)"]] 
    } 
    }); 
</script> 
<script type="text/javascript" 
    src="http://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS_HTML-full"> 
</script> 

</head> 
<body> 

<script> 
    // 
    // Use a closure to hide the local variables from the 
    // global namespace 
    // 
    (function() { 
    var QUEUE = MathJax.Hub.queue; // shorthand for the queue 
    var math = null;    // the element jax for the math output. 

    // 
    // Get the element jax when MathJax has produced it. 
    // 
    QUEUE.Push(function() { 
     math = MathJax.Hub.getAllJax("MathOutput")[0]; 
    }); 

    // 
    // The onchange event handler that typesets the 
    // math entered by the user 
    // 
    window.UpdateMath = function (TeX) { 
     QUEUE.Push(["Text",math,"\\displaystyle{"+TeX+"}"]); 
    } 
    })(); 
</script> 

Type some TeX code: 
<input id="MathInput" size="50" onchange="UpdateMath(this.value)" /> 
<p> 

<div id="MathOutput"> 
You typed: ${}$ 
</div> 

</body> 
</html> 
+0

vâng, vì 'onchange' chỉ kích hoạt khi phím enter được nhấn hoặc khi trường bị mờ. – think123

+0

Lưu ý từ tương lai: cdn.mathjax.org sắp hết hạn, hãy kiểm tra https://www.mathjax.org/cdn-shutting-down/ để biết các mẹo di chuyển. –

+0

@PeterKrautzberger Cách tốt nhất để hiển thị bản xem trước trực tiếp của MathJax trong một trang wordpress có trường nhập liệu để viết câu hỏi/nhận xét với các công thức toán học là gì. Đối với người mới bắt đầu tuyệt đối, vui lòng hướng dẫn "những gì" và "ở đâu" để nhập một số tập lệnh, nếu có. Cảm ơn – user12345

Trả lời

4

Thay vì sử dụng onchange thử onkeypress hoặc onkeyup.

onchange chỉ được kích hoạt khi bạn rời khỏi trường, nhưng những người khác (hiển nhiên) xảy ra với mỗi lần nhấn phím.

+0

Cách tốt nhất để hiển thị bản xem trước trực tiếp của MathJax trong một trang wordpress có trường nhập liệu để viết câu hỏi/nhận xét với các công thức toán học là gì. Đối với người mới bắt đầu tuyệt đối, vui lòng hướng dẫn "những gì" và "ở đâu" để nhập một số tập lệnh, nếu có. Cảm ơn – user12345

1

Tôi nghi ngờ bạn đang sử dụng Internet Explorer, điều này không kích hoạt các sự kiện onchange thường xuyên hoặc hiệu quả như các trình duyệt khác.

Phiên bản trong MathJax Examples bao gồm nhiều mã hơn để xử lý IE tốt hơn. Bạn có thể muốn xem mã nguồn ở đó để biết chi tiết.

+0

điều này không thực sự đúng, trên thực tế. – think123

Các vấn đề liên quan