Make keyboard menus work with [Math Processing Error] elements.
This commit is contained in:
parent
31992363fd
commit
6f461fdb5c
|
@ -2354,18 +2354,26 @@ MathJax.Hub = {
|
||||||
//
|
//
|
||||||
var errorSettings = this.config.errorSettings;
|
var errorSettings = this.config.errorSettings;
|
||||||
var errorText = LOCALIZE(errorSettings.messageId,errorSettings.message);
|
var errorText = LOCALIZE(errorSettings.messageId,errorSettings.message);
|
||||||
var error = MathJax.HTML.Element("span",
|
var error = MathJax.HTML.Element("span", {
|
||||||
{className:"MathJax_Error", jaxID:"Error", isMathJax:true},errorText);
|
className:"MathJax_Error", jaxID:"Error", isMathJax:true,
|
||||||
|
id: script.MathJax.error.inputID+"-Frame"
|
||||||
|
},errorText);
|
||||||
//
|
//
|
||||||
// Attach the menu events
|
// Attach the menu events
|
||||||
//
|
//
|
||||||
if (MathJax.Extension.MathEvents) {
|
if (MathJax.Extension.MathEvents) {
|
||||||
error.oncontextmenu = MathJax.Extension.MathEvents.Event.Menu;
|
var EVENT = MathJax.Extension.MathEvents.Event;
|
||||||
error.onmousedown = MathJax.Extension.MathEvents.Event.Mousedown;
|
error.oncontextmenu = EVENT.Menu;
|
||||||
|
error.onmousedown = EVENT.Mousedown;
|
||||||
|
error.onkeydown = EVENT.Keydown;
|
||||||
|
error.tabIndex = 0;
|
||||||
} else {
|
} else {
|
||||||
MathJax.Ajax.Require("[MathJax]/extensions/MathEvents.js",function () {
|
MathJax.Ajax.Require("[MathJax]/extensions/MathEvents.js",function () {
|
||||||
error.oncontextmenu = MathJax.Extension.MathEvents.Event.Menu;
|
var EVENT = MathJax.Extension.MathEvents.Event;
|
||||||
error.onmousedown = MathJax.Extension.MathEvents.Event.Mousedown;
|
error.oncontextmenu = EVENT.Menu;
|
||||||
|
error.onmousedown = EVENT.Mousedown;
|
||||||
|
error.keydown = EVENT.Keydown;
|
||||||
|
error.tabIndex = 0;
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
//
|
//
|
||||||
|
@ -3036,15 +3044,17 @@ MathJax.Hub.Startup = {
|
||||||
// Some "Fake" jax used to allow menu access for "Math Processing Error" messages
|
// Some "Fake" jax used to allow menu access for "Math Processing Error" messages
|
||||||
//
|
//
|
||||||
BASE.OutputJax.Error = {
|
BASE.OutputJax.Error = {
|
||||||
id: "Error", version: "2.5.0", config: {},
|
id: "Error", version: "2.5.0", config: {}, errors: 0,
|
||||||
ContextMenu: function () {return BASE.Extension.MathEvents.Event.ContextMenu.apply(BASE.Extension.MathEvents.Event,arguments)},
|
ContextMenu: function () {return BASE.Extension.MathEvents.Event.ContextMenu.apply(BASE.Extension.MathEvents.Event,arguments)},
|
||||||
Mousedown: function () {return BASE.Extension.MathEvents.Event.AltContextMenu.apply(BASE.Extension.MathEvents.Event,arguments)},
|
Mousedown: function () {return BASE.Extension.MathEvents.Event.AltContextMenu.apply(BASE.Extension.MathEvents.Event,arguments)},
|
||||||
getJaxFromMath: function (math) {return (math.nextSibling.MathJax||{}).error},
|
getJaxFromMath: function (math) {return (math.nextSibling.MathJax||{}).error},
|
||||||
Jax: function (text,script) {
|
Jax: function (text,script) {
|
||||||
var jax = MathJax.Hub.inputJax[script.type.replace(/ *;(.|\s)*/,"")];
|
var jax = MathJax.Hub.inputJax[script.type.replace(/ *;(.|\s)*/,"")];
|
||||||
|
this.errors++;
|
||||||
return {
|
return {
|
||||||
inputJax: (jax||{id:"Error"}).id, // Use Error InputJax as fallback
|
inputJax: (jax||{id:"Error"}).id, // Use Error InputJax as fallback
|
||||||
outputJax: "Error",
|
outputJax: "Error",
|
||||||
|
inputID: "MathJax-Error-"+this.errors,
|
||||||
sourceMenuTitle: /*_(MathMenu)*/ ["ErrorMessage","Error Message"],
|
sourceMenuTitle: /*_(MathMenu)*/ ["ErrorMessage","Error Message"],
|
||||||
sourceMenuFormat: "Error",
|
sourceMenuFormat: "Error",
|
||||||
originalText: MathJax.HTML.getScript(script),
|
originalText: MathJax.HTML.getScript(script),
|
||||||
|
|
Loading…
Reference in New Issue
Block a user