2011-10-28 10 views
8

Jak zmodyfikować ten przykład matematyki, aby podgląd na żywo był wyświetlany podczas pisania? Teraz wyświetla tylko wynik po naciśnięciu klawisza Enter. Chciałbym go zmodyfikować tak, aby działał podobnie do tego, jak stackoverflow/math.stackexchange wyświetla podgląd podczas wpisywania pytania.Wyświetlenie wyjścia mathjax w czasie rzeczywistym

<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

tak, ponieważ 'onchange' uruchamia się tylko po naciśnięciu klawisza Enter lub gdy pole jest rozmyte. – think123

+0

Uwaga z przyszłości: cdn.mathjax.org zbliża się końca, sprawdź https://www.mathjax.org/cdn-shutting-down/ pod kątem wskazówek dotyczących migracji. –

+0

@PeterKrautzberger Jaki jest najlepszy sposób, aby pokazać podgląd na żywo MathJax w witrynie wordpress, która ma pole do wpisywania pytań/komentarzy z formułami matematycznymi. Dla absolutnie początkującego, napisz "co" i "gdzie", aby wpisać jakiś skrypt, jeśli taki istnieje. Dzięki – user12345

Odpowiedz

4

Zamiast onchange spróbować onkeypress lub onkeyup.

onchange jest wyzwalany tylko po opuszczeniu pola, ale pozostałe (oczywiście) zdarzają się przy każdym naciśnięciu klawisza.

+0

Jaki jest najlepszy sposób, aby pokazać podgląd na żywo MathJax w witrynie wordpress, która ma pole wprowadzania do pisania pytań/komentarzy z formuł matematycznych. Dla absolutnie początkującego, napisz "co" i "gdzie", aby wpisać jakiś skrypt, jeśli taki istnieje. Dzięki – user12345

1

Podejrzewam, że korzystasz z przeglądarki Internet Explorer, która nie uruchamia zdarzeń onchange tak często lub skutecznie, jak inne przeglądarki.

Wersja z MathJax Examples zawiera więcej kodów do lepszego zarządzania IE. Możesz zajrzeć do kodu źródłowego tam w celu uzyskania szczegółów.

+0

to w rzeczywistości nie jest prawdą. – think123