The MathfieldElement class represent a DOM element that displays math equations. It is a subclass of the standard HTMLElement class and as such inherits all of its properties and methods.

It inherits many useful properties and methods from [[HTMLElement]] such as style, tabIndex, addEventListener(), getAttribute(), etc...

It is the main entry point to the MathLive library.

It is typically used to render a single equation. To render multiple equations, use multiple instances of MathfieldElement. The MathfieldElement class provides special properties and methods to control the display and behavior of <math-field> elements.

To create a new MathfieldElement:

// 1. Create a new MathfieldElement
const mf = new MathfieldElement();

// 2. Attach it to the DOM
document.body.appendChild(mf);

The MathfieldElement constructor has an optional argument of [[MathfieldOptions]] to configure the element. The options can also be modified later:

// Setting options during construction
const mf = new MathfieldElement({ smartFence: false });

// Modifying options after construction
mf.smartFence = true;

To customize the appearance of the mathfield, declare the following CSS variables (custom properties) in a ruleset that applies to the mathfield.

math-field {
--hue: 10 // Set the highlight color and caret to a reddish hue
}

Alternatively you can set these CSS variables programatically:

document.body.style.setProperty("--hue", "10");
CSS Variable Usage
--hue Hue of the highlight color and the caret
--contains-highlight-background-color Backround property for items that contain the caret
--primary-color Primary accent color, used for example in the virtual keyboard
--text-font-family The font stack used in text mode
--smart-fence-opacity Opacity of a smart fence (default is 50%)
--smart-fence-color Color of a smart fence (default is current color)

You can customize the appearance and zindex of the virtual keyboard panel with some CSS variables associated with a selector that applies to the virtual keyboard panel container.

Read more about customizing the virtual keyboard appearance

To style the virtual keyboard toggle, use the virtual-keyboard-toggle CSS part. To use it, define a CSS rule with a ::part() selector for example:

math-field::part(virtual-keyboard-toggle) {
color: red;
}

An attribute is a key-value pair set as part of the tag:

<math-field letter-shape-style="tex"></math-field>

The supported attributes are listed in the table below with their corresponding property.

The property can also be changed directly on the MathfieldElement object:

 getElementById('mf').value = "\\sin x";
getElementById('mf').letterShapeStyle = "text";

The values of attributes and properties are reflected, which means you can change one or the other, for example:

getElementById('mf').setAttribute('letter-shape-style',  'french');
console.log(getElementById('mf').letterShapeStyle);
// Result: "french"
getElementById('mf').letterShapeStyle ='tex;
console.log(getElementById('mf').getAttribute('letter-shape-style');
// Result: 'tex'

An exception is the value property, which is not reflected on the value attribute: for consistency with other DOM elements, the value attribute remains at its initial value.

Attribute Property
disabled mf.disabled
default-mode mf.defaultMode
letter-shape-style mf.letterShapeStyle
min-font-scale mf.minFontScale
popover-policy mf.popoverPolicy
math-mode-space mf.mathModeSpace
read-only mf.readOnly
remove-extraneous-parentheses mf.removeExtraneousParentheses
smart-fence mf.smartFence
smart-mode mf.smartMode
smart-superscript mf.smartSuperscript
inline-shortcut-timeout mf.inlineShortcutTimeout
script-depth mf.scriptDepth
value value
math-virtual-keyboard-policy mathVirtualKeyboardPolicy

See [[MathfieldOptions]] for more details about these options.

In addition, the following global attributes can also be used:

  • class
  • data-*
  • hidden
  • id
  • item*
  • style
  • tabindex

Listen to these events by using addEventListener(). For events with additional arguments, the arguments are available in event.detail.

Event Name Description
beforeinput The value of the mathfield is about to be modified.
input The value of the mathfield has been modified. This happens on almost every keystroke in the mathfield. The evt.data property includes a copy of evt.inputType. See InputEvent
change The user has committed the value of the mathfield. This happens when the user presses Return or leaves the mathfield.
selection-change The selection (or caret position) in the mathfield has changed
mode-change The mode (math, text) of the mathfield has changed
undo-state-change The state of the undo stack has changed. The evt.detail.type indicate if a snapshot was taken or an undo performed.
read-aloud-status-change The status of a read aloud operation has changed
before-virtual-keyboard-toggle The visibility of the virtual keyboard panel is about to change. The evt.detail.visible property indicate if the keyboard will be visible or not. Listen for this event on window.mathVirtualKeyboard
virtual-keyboard-toggle The visibility of the virtual keyboard panel has changed. Listen for this event on window.mathVirtualKeyboard
geometrychange The geometry of the virtual keyboard has changed. The evt.detail.boundingRect property is the new bounding rectangle of the virtual keyboard. Listen for this event on window.mathVirtualKeyboard
blur The mathfield is losing focus
focus The mathfield is gaining focus
move-out The user has pressed an arrow key or the tab key, but there is nowhere to go. This is an opportunity to change the focus to another element if desired.
`detail: {direction: 'forward'
keypress The user pressed a physical keyboard key
mount The element has been attached to the DOM
unmount The element is about to be removed from the DOM

zindex, events, attribute, attributes, property, properties, parts, variables, css, mathfield, mathfieldelement

Hierarchy (view full)

Implements

Accessing and changing the content

Customization

Focus

Hooks

Localization

Other

constructor accessKey accessKeyLabel ariaAtomic ariaAutoComplete ariaBrailleLabel ariaBrailleRoleDescription ariaBusy ariaChecked ariaColCount ariaColIndex ariaColIndexText ariaColSpan ariaCurrent ariaDescription ariaDisabled ariaExpanded ariaHasPopup ariaHidden ariaInvalid ariaKeyShortcuts ariaLabel ariaLevel ariaLive ariaModal ariaMultiLine ariaMultiSelectable ariaOrientation ariaPlaceholder ariaPosInSet ariaPressed ariaReadOnly ariaRelevant ariaRequired ariaRoleDescription ariaRowCount ariaRowIndex ariaRowIndexText ariaRowSpan ariaSelected ariaSetSize ariaSort ariaValueMax ariaValueMin ariaValueNow ariaValueText assignedSlot ATTRIBUTE_NODE attributes attributeStyleMap autocapitalize autofocus baseURI CDATA_SECTION_NODE childElementCount childNodes children className clientHeight clientLeft clientTop clientWidth COMMENT_NODE contentEditable currentCSSZoom dataset dir DOCUMENT_FRAGMENT_NODE DOCUMENT_NODE DOCUMENT_POSITION_CONTAINED_BY DOCUMENT_POSITION_CONTAINS DOCUMENT_POSITION_DISCONNECTED DOCUMENT_POSITION_FOLLOWING DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC DOCUMENT_POSITION_PRECEDING DOCUMENT_TYPE_NODE draggable ELEMENT_NODE enterKeyHint ENTITY_NODE ENTITY_REFERENCE_NODE firstChild firstElementChild hidden id inert innerHTML innerText inputMode isConnected isContentEditable lang lastChild lastElementChild localName namespaceURI nextElementSibling nextSibling nodeName nodeType nodeValue nonce? NOTATION_NODE offsetHeight offsetLeft offsetParent offsetTop offsetWidth onabort onanimationcancel onanimationend onanimationiteration onanimationstart onauxclick onbeforeinput onbeforetoggle onblur oncancel oncanplay oncanplaythrough onchange onclick onclose oncontextlost oncontextmenu oncontextrestored oncopy oncuechange oncut ondblclick ondrag ondragend ondragenter ondragleave ondragover ondragstart ondrop ondurationchange onemptied onended onerror onfocus onformdata onfullscreenchange onfullscreenerror ongotpointercapture oninput oninvalid onkeydown onkeypress onkeyup onload onloadeddata onloadedmetadata onloadstart onlostpointercapture onmousedown onmouseenter onmouseleave onmousemove onmouseout onmouseover onmouseup onpaste onpause onplay onplaying onpointercancel onpointerdown onpointerenter onpointerleave onpointermove onpointerout onpointerover onpointerup onprogress onratechange onreset onresize onscroll onscrollend onsecuritypolicyviolation onseeked onseeking onselect onselectionchange onselectstart onslotchange onstalled onsubmit onsuspend ontimeupdate ontoggle ontouchcancel? ontouchend? ontouchmove? ontouchstart? ontransitioncancel ontransitionend ontransitionrun ontransitionstart onvolumechange onwaiting onwebkitanimationend onwebkitanimationiteration onwebkitanimationstart onwebkittransitionend onwheel outerHTML outerText ownerDocument parentElement parentNode popover prefix previousElementSibling previousSibling PROCESSING_INSTRUCTION_NODE role scrollHeight scrollLeft scrollTop scrollWidth shadowRoot slot spellcheck tabIndex tagName TEXT_NODE textContent title translate writingSuggestions createHTML readAloudHook speakHook version classList computeEngine decimalSeparator disabled fontsDirectory form isSelectionEditable locale mathVirtualKeyboard mode name part readonly readOnly soundsDirectory strings style type computeEngine fontsDirectory formAssociated isFunction observedAttributes optionsAttributes plonkSound speechEngine speechEngineRate speechEngineVoice textToSpeechMarkup textToSpeechRules textToSpeechRulesOptions addEventListener after animate append appendChild attachInternals attachShadow attributeChangedCallback before checkVisibility click cloneNode closest compareDocumentPosition computedStyleMap connectedCallback contains disconnectedCallback dispatchEvent executeCommand getAnimations getAttribute getAttributeNames getAttributeNode getAttributeNodeNS getAttributeNS getBoundingClientRect getClientRects getElementsByClassName getElementsByTagName getElementsByTagNameNS getHTML getPromptState getRootNode handleEvent hasAttribute hasAttributeNS hasAttributes hasChildNodes hasPointerCapture hidePopover insertAdjacentElement insertAdjacentHTML insertAdjacentText insertBefore isDefaultNamespace isEqualNode isSameNode lookupNamespaceURI lookupPrefix matches normalize onPointerDown prepend querySelector querySelectorAll releasePointerCapture remove removeAttribute removeAttributeNode removeAttributeNS removeChild removeEventListener replaceChild replaceChildren replaceWith requestFullscreen requestPointerLock scroll scrollBy scrollIntoView scrollTo setAttribute setAttributeNode setAttributeNodeNS setAttributeNS setHTMLUnsafe setPointerCapture showMenu showPopover toggleAttribute togglePopover upgradeProperty webkitMatchesSelector loadSound playSound

Prompts

Selection

Undo

Virtual Keyboard

Accessing and changing the content

  • get errors(): readonly LatexSyntaxError[]
  • Return an array of LaTeX syntax errors, if any.

    Returns readonly LatexSyntaxError[]

  • get expression(): any
  • If the Compute Engine library is available, return a boxed MathJSON expression representing the value of the mathfield.

    To load the Compute Engine library, use:

    import 'https://unpkg.com/@cortex-js/compute-engine?module';
    

    Returns any

  • set expression(mathJson): void
  • Parameters

    • mathJson: any

    Returns void

  • get value(): string
  • The content of the mathfield as a LaTeX expression.

    document.querySelector('mf').value = '\\frac{1}{\\pi}'
    

    Returns string

  • set value(value): void
  • Parameters

    • value: string

    Returns void

  • Update the style (color, bold, italic, etc...) of the selection or sets the style to be applied to future input.

    If there is no selection and no range is specified, the style will apply to the next character typed.

    If a range is specified, the style is applied to the range, otherwise, if there is a selection, the style is applied to the selection.

    If the operation is "toggle" and the range already has this style, remove it. If the range has the style partially applied (i.e. only some sections), remove it from those sections, and apply it to the entire range.

    If the operation is "set", the style is applied to the range, whether it already has the style or not.

    The default operation is "set".

    Parameters

    • style: Readonly<Style>
    • Optionaloptions: Range | {
          operation?: "set" | "toggle";
          range?: Range;
      }

    Returns void

  • Return a textual representation of the content of the mathfield.

    Parameters

    • Optionalformat: OutputFormat

      The format of the result. If using math-json the Compute Engine library must be loaded, for example with:

      import "https://unpkg.com/@cortex-js/compute-engine?module";
      

      Default: "latex"

    Returns string

  • Return the value of the mathfield from start to end

    Parameters

    Returns string

  • Return the value of the mathfield in range

    Parameters

    Returns string

  • Internal

    Parameters

    Returns string

  • Insert a block of text at the current insertion point.

    This method can be called explicitly or invoked as a selector with executeCommand("insert").

    After the insertion, the selection will be set according to the options.selectionMode.

    Parameters

    Returns boolean

  • Parameters

    Returns "some" | "all" | "none"

  • Set the content of the mathfield to the text interpreted as a LaTeX expression.

    Parameters

    Returns void

Customization

  • get backgroundColorMap(): ((name: string) => undefined | string)
  • Returns ((name: string) => undefined | string)

      • (name): undefined | string
      • Parameters

        • name: string

        Returns undefined | string

  • set backgroundColorMap(value): void
  • Parameters

    • value: ((name: string) => undefined | string)
        • (name): undefined | string
        • Parameters

          • name: string

          Returns undefined | string

    Returns void

  • get colorMap(): ((name: string) => undefined | string)
  • Returns ((name: string) => undefined | string)

      • (name): undefined | string
      • Parameters

        • name: string

        Returns undefined | string

  • set colorMap(value): void
  • Parameters

    • value: ((name: string) => undefined | string)
        • (name): undefined | string
        • Parameters

          • name: string

          Returns undefined | string

    Returns void

  • get defaultMode(): "text" | "math" | "inline-math"
  • Returns "text" | "math" | "inline-math"

  • set defaultMode(value): void
  • Parameters

    • value: "text" | "math" | "inline-math"

    Returns void

  • get environmentPopoverPolicy(): "auto" | "off" | "on"
  • Returns "auto" | "off" | "on"

  • set environmentPopoverPolicy(value): void
  • Parameters

    • value: "auto" | "off" | "on"

    Returns void

  • get inlineShortcutTimeout(): number
  • Returns number

  • set inlineShortcutTimeout(value): void
  • Parameters

    • value: number

    Returns void

  • get keybindings(): readonly Keybinding[]
  • Returns readonly Keybinding[]

  • set keybindings(value): void
  • Parameters

    Returns void

  • get letterShapeStyle():
        | "auto"
        | "tex"
        | "iso"
        | "french"
        | "upright"
  • Returns
        | "auto"
        | "tex"
        | "iso"
        | "french"
        | "upright"

  • set letterShapeStyle(value): void
  • Parameters

    • value:
          | "auto"
          | "tex"
          | "iso"
          | "french"
          | "upright"

    Returns void

  • get macros(): Readonly<MacroDictionary>
  • Returns Readonly<MacroDictionary>

  • set macros(value): void
  • Parameters

    Returns void

  • get mathModeSpace(): string
  • Returns string

  • set mathModeSpace(value): void
  • Parameters

    • value: string

    Returns void

  • get mathVirtualKeyboardPolicy(): VirtualKeyboardPolicy
  • Returns VirtualKeyboardPolicy

  • set mathVirtualKeyboardPolicy(value): void
  • Parameters

    Returns void

  • Returns readonly MenuItem[]

  • Parameters

    Returns void

  • get minFontScale(): number
  • Returns number

  • set minFontScale(value): void
  • Parameters

    • value: number

    Returns void

  • get placeholderSymbol(): string
  • Returns string

  • set placeholderSymbol(value): void
  • Parameters

    • value: string

    Returns void

  • get popoverPolicy(): "auto" | "off"
  • Returns "auto" | "off"

  • set popoverPolicy(value): void
  • Parameters

    • value: "auto" | "off"

    Returns void

  • get registers(): Readonly<Registers>
  • TeX registers represent "variables" and "constants".

    Changing the values of some registers can modify the layout of math expressions.

    The following registers might be of interest:

    • thinmuskip: space between items of math lists
    • medmuskip: space between binary operations
    • thickmuskip: space between relational operators
    • nulldelimiterspace: minimum space to leave blank in delimiter constructions, for example around a fraction
    • delimitershortfall: maximum space to overlap adjacent elements when a delimiter is too short
    • jot: space between lines in an array, or between rows in a multiline construct
    • arraycolsep: space between columns in an array
    • arraystretch: factor by which to stretch the height of each row in an array

    To modify a register, use:

    mf.registers.arraystretch = 1.5;
    mf.registers.thinmuskip = { dimension: 2, unit: "mu" };
    mf.registers.medmuskip = "3mu";

    Returns Readonly<Registers>

  • set registers(value): void
  • Parameters

    Returns void

  • get removeExtraneousParentheses(): boolean
  • Returns boolean

  • set removeExtraneousParentheses(value): void
  • Parameters

    • value: boolean

    Returns void

  • get scriptDepth(): number | [number, number]
  • Returns number | [number, number]

  • set scriptDepth(value): void
  • Parameters

    • value: number | [number, number]

    Returns void

  • get smartFence(): boolean
  • Returns boolean

  • set smartFence(value): void
  • Parameters

    • value: boolean

    Returns void

  • get smartMode(): boolean
  • Returns boolean

  • set smartMode(value): void
  • Parameters

    • value: boolean

    Returns void

  • get smartSuperscript(): boolean
  • Returns boolean

  • set smartSuperscript(value): void
  • Parameters

    • value: boolean

    Returns void

Focus

  • Remove the focus from the mathfield (will no longer respond to keyboard input).

    Returns void

  • Sets the focus to the mathfield (will respond to keyboard input).

    Returns void

  • Return true if the mathfield is currently focused (responds to keyboard input).

    Returns boolean

Hooks

  • get onExport(): ((from: Mathfield, latex: string, range: Range) => string)
  • This hooks is invoked when the user has requested to export the content of the mathfield, for example when pressing ctrl/command+C.

    This hook should return as a string what should be exported.

    The range argument indicates which portion of the mathfield should be exported. It is not always equal to the current selection, but it can be used to export a format other than LaTeX.

    By default this is:

     return `\\begin{equation*}${latex}\\end{equation*}`;
    

    Returns ((from: Mathfield, latex: string, range: Range) => string)

      • (from, latex, range): string
      • Parameters

        Returns string

  • set onExport(value): void
  • Parameters

    • value: ((from: Mathfield, latex: string, range: Range) => string)
        • (from, latex, range): string
        • Parameters

          Returns string

    Returns void

  • get onInlineShortcut(): ((sender: Mathfield, symbol: string) => string)
  • A hook invoked when a string of characters that could be interpreted as shortcut has been typed.

    If not a special shortcut, return the empty string "".

    Use this handler to detect multi character symbols, and return them wrapped appropriately, for example \mathrm{${symbol}}.

    Returns ((sender: Mathfield, symbol: string) => string)

      • (sender, symbol): string
      • Parameters

        Returns string

  • set onInlineShortcut(value): void
  • Parameters

    • value: ((sender: Mathfield, symbol: string) => string)
        • (sender, symbol): string
        • Parameters

          Returns string

    Returns void

  • get onScrollIntoView(): null | ((sender: Mathfield) => void)
  • A hook invoked when a scrolling the mathfield into view is necessary.

    Use when scrolling the page would not solve the problem, e.g. when the mathfield is in another div that has scrollable content.

    Returns null | ((sender: Mathfield) => void)

  • set onScrollIntoView(value): void
  • Parameters

    Returns void

Localization

fractionNavigationOrder: "numerator-denominator" | "denominator-numerator"

When using the keyboard to navigate a fraction, the order in which the numerator and navigator are traversed:

  • "numerator-denominator": first the elements in the numerator, then the elements in the denominator.
  • "denominator-numerator": first the elements in the denominator, then the elements in the numerator. In some East-Asian cultures, fractions are read and written denominator first ("fÄ“nzhÄ«"). With this option the keyboard navigation follows this convention.

Default: "numerator-denominator"

  • get decimalSeparator(): "," | "."
  • The symbol used to separate the integer part from the fractional part of a number.

    When "," is used, the corresponding LaTeX string is {,}, in order to ensure proper spacing (otherwise an extra gap is displayed after the comma).

    This affects:

    • what happens when the , key is pressed (if decimalSeparator is ",", the {,} LaTeX string is inserted when following some digits)
    • the label and behavior of the "." key in the default virtual keyboard

    Default: "."

    Returns "," | "."

  • set decimalSeparator(value): void
  • Parameters

    • value: "," | "."

    Returns void

  • get locale(): string
  • The locale (language + region) to use for string localization.

    If none is provided, the locale of the browser is used.

    Returns string

  • set locale(value): void
  • Parameters

    • value: string

    Returns void

  • get strings(): Readonly<Record<string, Record<string, string>>>
  • An object whose keys are a locale string, and whose values are an object of string identifier to localized string.

    Example

    mf.strings = {
    "fr-CA": {
    "tooltip.undo": "Annuler",
    "tooltip.redo": "Refaire",
    }
    }

    If the locale is already supported, this will override the existing strings. If the locale is not supported, it will be added.

    Returns Readonly<Record<string, Record<string, string>>>

  • set strings(value): void
  • Parameters

    Returns void

Other

  • To create programmatically a new mathfield use:

    let mfe = new MathfieldElement();

    // Set initial value and options
    mfe.value = "\\frac{\\sin(x)}{\\cos(x)}";

    // Options can be set either as an attribute (for simple options)...
    mfe.setAttribute("letter-shape-style", "french");

    // ... or using properties
    mfe.letterShapeStyle = "french";

    // Attach the element to the DOM
    document.body.appendChild(mfe);

    Parameters

    Returns MathfieldElement

accessKey: string
accessKeyLabel: string
ariaAtomic: null | string
ariaAutoComplete: null | string
ariaBrailleLabel: null | string
ariaBrailleRoleDescription: null | string
ariaBusy: null | string
ariaChecked: null | string
ariaColCount: null | string
ariaColIndex: null | string
ariaColIndexText: null | string
ariaColSpan: null | string
ariaCurrent: null | string
ariaDescription: null | string
ariaDisabled: null | string
ariaExpanded: null | string
ariaHasPopup: null | string
ariaHidden: null | string
ariaInvalid: null | string
ariaKeyShortcuts: null | string
ariaLabel: null | string
ariaLevel: null | string
ariaLive: null | string
ariaModal: null | string
ariaMultiLine: null | string
ariaMultiSelectable: null | string
ariaOrientation: null | string
ariaPlaceholder: null | string
ariaPosInSet: null | string
ariaPressed: null | string
ariaReadOnly: null | string
ariaRelevant: null | string
ariaRequired: null | string
ariaRoleDescription: null | string
ariaRowCount: null | string
ariaRowIndex: null | string
ariaRowIndexText: null | string
ariaRowSpan: null | string
ariaSelected: null | string
ariaSetSize: null | string
ariaSort: null | string
ariaValueMax: null | string
ariaValueMin: null | string
ariaValueNow: null | string
ariaValueText: null | string
assignedSlot: null | HTMLSlotElement
ATTRIBUTE_NODE
attributes: NamedNodeMap
attributeStyleMap: StylePropertyMap
autocapitalize: string
autofocus: boolean
baseURI: string

Returns node's node document's document base URL.

MDN Reference

CDATA_SECTION_NODE

node is a CDATASection node.

childElementCount: number
childNodes: NodeListOf<ChildNode>

Returns the children.

MDN Reference

children: HTMLCollection

Returns the child elements.

MDN Reference

className: string

Returns the value of element's class content attribute. Can be set to change it.

MDN Reference

clientHeight: number
clientLeft: number
clientTop: number
clientWidth: number
COMMENT_NODE

node is a Comment node.

contentEditable: string
currentCSSZoom: number
dataset: DOMStringMap
dir: string
DOCUMENT_FRAGMENT_NODE

node is a DocumentFragment node.

DOCUMENT_NODE

node is a document.

DOCUMENT_POSITION_CONTAINED_BY

Set when other is a descendant of node.

DOCUMENT_POSITION_CONTAINS

Set when other is an ancestor of node.

DOCUMENT_POSITION_DISCONNECTED

Set when node and other are not in the same tree.

DOCUMENT_POSITION_FOLLOWING

Set when other is following node.

DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC
DOCUMENT_POSITION_PRECEDING

Set when other is preceding node.

DOCUMENT_TYPE_NODE

node is a doctype.

draggable: boolean
ELEMENT_NODE

node is an element.

enterKeyHint: string
ENTITY_NODE
ENTITY_REFERENCE_NODE
firstChild: null | ChildNode

Returns the first child.

MDN Reference

firstElementChild: null | Element

Returns the first child that is an element, and null otherwise.

MDN Reference

hidden: boolean
id: string

Returns the value of element's id content attribute. Can be set to change it.

MDN Reference

inert: boolean
innerHTML: string
innerText: string
inputMode: string
isConnected: boolean

Returns true if node is connected and false otherwise.

MDN Reference

isContentEditable: boolean
lang: string
lastChild: null | ChildNode

Returns the last child.

MDN Reference

lastElementChild: null | Element

Returns the last child that is an element, and null otherwise.

MDN Reference

localName: string

Returns the local name.

MDN Reference

namespaceURI: null | string

Returns the namespace.

MDN Reference

nextElementSibling: null | Element

Returns the first following sibling that is an element, and null otherwise.

MDN Reference

nextSibling: null | ChildNode

Returns the next sibling.

MDN Reference

nodeName: string

Returns a string appropriate for the type of node.

MDN Reference

nodeType: number

Returns the type of node.

MDN Reference

nodeValue: null | string
nonce?: string
NOTATION_NODE
offsetHeight: number
offsetLeft: number
offsetParent: null | Element
offsetTop: number
offsetWidth: number
onabort: null | ((this: GlobalEventHandlers, ev: UIEvent) => any)

Fires when the user aborts the download.

The event.

MDN Reference

onanimationcancel: null | ((this: GlobalEventHandlers, ev: AnimationEvent) => any)
onanimationend: null | ((this: GlobalEventHandlers, ev: AnimationEvent) => any)
onanimationiteration: null | ((this: GlobalEventHandlers, ev: AnimationEvent) => any)
onanimationstart: null | ((this: GlobalEventHandlers, ev: AnimationEvent) => any)
onauxclick: null | ((this: GlobalEventHandlers, ev: MouseEvent) => any)
onbeforeinput: null | ((this: GlobalEventHandlers, ev: InputEvent) => any)
onbeforetoggle: null | ((this: GlobalEventHandlers, ev: Event) => any)
onblur: null | ((this: GlobalEventHandlers, ev: FocusEvent) => any)

Fires when the object loses the input focus.

The focus event.

MDN Reference

oncancel: null | ((this: GlobalEventHandlers, ev: Event) => any)
oncanplay: null | ((this: GlobalEventHandlers, ev: Event) => any)

Occurs when playback is possible, but would require further buffering.

The event.

MDN Reference

oncanplaythrough: null | ((this: GlobalEventHandlers, ev: Event) => any)
onchange: null | ((this: GlobalEventHandlers, ev: Event) => any)

Fires when the contents of the object or selection have changed.

The event.

MDN Reference

onclick: null | ((this: GlobalEventHandlers, ev: MouseEvent) => any)

Fires when the user clicks the left mouse button on the object

The mouse event.

MDN Reference

onclose: null | ((this: GlobalEventHandlers, ev: Event) => any)
oncontextlost: null | ((this: GlobalEventHandlers, ev: Event) => any)
oncontextmenu: null | ((this: GlobalEventHandlers, ev: MouseEvent) => any)

Fires when the user clicks the right mouse button in the client area, opening the context menu.

The mouse event.

MDN Reference

oncontextrestored: null | ((this: GlobalEventHandlers, ev: Event) => any)
oncopy: null | ((this: GlobalEventHandlers, ev: ClipboardEvent) => any)
oncuechange: null | ((this: GlobalEventHandlers, ev: Event) => any)
oncut: null | ((this: GlobalEventHandlers, ev: ClipboardEvent) => any)
ondblclick: null | ((this: GlobalEventHandlers, ev: MouseEvent) => any)

Fires when the user double-clicks the object.

The mouse event.

MDN Reference

ondrag: null | ((this: GlobalEventHandlers, ev: DragEvent) => any)

Fires on the source object continuously during a drag operation.

The event.

MDN Reference

ondragend: null | ((this: GlobalEventHandlers, ev: DragEvent) => any)

Fires on the source object when the user releases the mouse at the close of a drag operation.

The event.

MDN Reference

ondragenter: null | ((this: GlobalEventHandlers, ev: DragEvent) => any)

Fires on the target element when the user drags the object to a valid drop target.

The drag event.

MDN Reference

ondragleave: null | ((this: GlobalEventHandlers, ev: DragEvent) => any)

Fires on the target object when the user moves the mouse out of a valid drop target during a drag operation.

The drag event.

MDN Reference

ondragover: null | ((this: GlobalEventHandlers, ev: DragEvent) => any)

Fires on the target element continuously while the user drags the object over a valid drop target.

The event.

MDN Reference

ondragstart: null | ((this: GlobalEventHandlers, ev: DragEvent) => any)

Fires on the source object when the user starts to drag a text selection or selected object.

The event.

MDN Reference

ondrop: null | ((this: GlobalEventHandlers, ev: DragEvent) => any)
ondurationchange: null | ((this: GlobalEventHandlers, ev: Event) => any)

Occurs when the duration attribute is updated.

The event.

MDN Reference

onemptied: null | ((this: GlobalEventHandlers, ev: Event) => any)

Occurs when the media element is reset to its initial state.

The event.

MDN Reference

onended: null | ((this: GlobalEventHandlers, ev: Event) => any)

Occurs when the end of playback is reached.

The event

MDN Reference

Fires when an error occurs during object loading.

The event.

MDN Reference

onfocus: null | ((this: GlobalEventHandlers, ev: FocusEvent) => any)

Fires when the object receives focus.

The event.

MDN Reference

onformdata: null | ((this: GlobalEventHandlers, ev: FormDataEvent) => any)
onfullscreenchange: null | ((this: Element, ev: Event) => any)
onfullscreenerror: null | ((this: Element, ev: Event) => any)
ongotpointercapture: null | ((this: GlobalEventHandlers, ev: PointerEvent) => any)
oninput: null | ((this: GlobalEventHandlers, ev: Event) => any)
oninvalid: null | ((this: GlobalEventHandlers, ev: Event) => any)
onkeydown: null | ((this: GlobalEventHandlers, ev: KeyboardEvent) => any)

Fires when the user presses a key.

The keyboard event

MDN Reference

onkeypress: null | ((this: GlobalEventHandlers, ev: KeyboardEvent) => any)

Fires when the user presses an alphanumeric key.

The event.

MDN Reference

onkeyup: null | ((this: GlobalEventHandlers, ev: KeyboardEvent) => any)

Fires when the user releases a key.

The keyboard event

MDN Reference

onload: null | ((this: GlobalEventHandlers, ev: Event) => any)

Fires immediately after the browser loads the object.

The event.

MDN Reference

onloadeddata: null | ((this: GlobalEventHandlers, ev: Event) => any)

Occurs when media data is loaded at the current playback position.

The event.

MDN Reference

onloadedmetadata: null | ((this: GlobalEventHandlers, ev: Event) => any)

Occurs when the duration and dimensions of the media have been determined.

The event.

MDN Reference

onloadstart: null | ((this: GlobalEventHandlers, ev: Event) => any)

Occurs when Internet Explorer begins looking for media data.

The event.

MDN Reference

onlostpointercapture: null | ((this: GlobalEventHandlers, ev: PointerEvent) => any)
onmousedown: null | ((this: GlobalEventHandlers, ev: MouseEvent) => any)

Fires when the user clicks the object with either mouse button.

The mouse event.

MDN Reference

onmouseenter: null | ((this: GlobalEventHandlers, ev: MouseEvent) => any)
onmouseleave: null | ((this: GlobalEventHandlers, ev: MouseEvent) => any)
onmousemove: null | ((this: GlobalEventHandlers, ev: MouseEvent) => any)

Fires when the user moves the mouse over the object.

The mouse event.

MDN Reference

onmouseout: null | ((this: GlobalEventHandlers, ev: MouseEvent) => any)

Fires when the user moves the mouse pointer outside the boundaries of the object.

The mouse event.

MDN Reference

onmouseover: null | ((this: GlobalEventHandlers, ev: MouseEvent) => any)

Fires when the user moves the mouse pointer into the object.

The mouse event.

MDN Reference

onmouseup: null | ((this: GlobalEventHandlers, ev: MouseEvent) => any)

Fires when the user releases a mouse button while the mouse is over the object.

The mouse event.

MDN Reference

onpaste: null | ((this: GlobalEventHandlers, ev: ClipboardEvent) => any)
onpause: null | ((this: GlobalEventHandlers, ev: Event) => any)

Occurs when playback is paused.

The event.

MDN Reference

onplay: null | ((this: GlobalEventHandlers, ev: Event) => any)

Occurs when the play method is requested.

The event.

MDN Reference

onplaying: null | ((this: GlobalEventHandlers, ev: Event) => any)

Occurs when the audio or video has started playing.

The event.

MDN Reference

onpointercancel: null | ((this: GlobalEventHandlers, ev: PointerEvent) => any)
onpointerdown: null | ((this: GlobalEventHandlers, ev: PointerEvent) => any)
onpointerenter: null | ((this: GlobalEventHandlers, ev: PointerEvent) => any)
onpointerleave: null | ((this: GlobalEventHandlers, ev: PointerEvent) => any)
onpointermove: null | ((this: GlobalEventHandlers, ev: PointerEvent) => any)
onpointerout: null | ((this: GlobalEventHandlers, ev: PointerEvent) => any)
onpointerover: null | ((this: GlobalEventHandlers, ev: PointerEvent) => any)
onpointerup: null | ((this: GlobalEventHandlers, ev: PointerEvent) => any)
onprogress: null | ((this: GlobalEventHandlers, ev: ProgressEvent<EventTarget>) => any)

Occurs to indicate progress while downloading media data.

The event.

MDN Reference

onratechange: null | ((this: GlobalEventHandlers, ev: Event) => any)

Occurs when the playback rate is increased or decreased.

The event.

MDN Reference

onreset: null | ((this: GlobalEventHandlers, ev: Event) => any)

Fires when the user resets a form.

The event.

MDN Reference

onresize: null | ((this: GlobalEventHandlers, ev: UIEvent) => any)
onscroll: null | ((this: GlobalEventHandlers, ev: Event) => any)

Fires when the user repositions the scroll box in the scroll bar on the object.

The event.

MDN Reference

onscrollend: null | ((this: GlobalEventHandlers, ev: Event) => any)
onsecuritypolicyviolation: null | ((this: GlobalEventHandlers, ev: SecurityPolicyViolationEvent) => any)
onseeked: null | ((this: GlobalEventHandlers, ev: Event) => any)

Occurs when the seek operation ends.

The event.

MDN Reference

onseeking: null | ((this: GlobalEventHandlers, ev: Event) => any)

Occurs when the current playback position is moved.

The event.

MDN Reference

onselect: null | ((this: GlobalEventHandlers, ev: Event) => any)

Fires when the current selection changes.

The event.

MDN Reference

onselectionchange: null | ((this: GlobalEventHandlers, ev: Event) => any)
onselectstart: null | ((this: GlobalEventHandlers, ev: Event) => any)
onslotchange: null | ((this: GlobalEventHandlers, ev: Event) => any)
onstalled: null | ((this: GlobalEventHandlers, ev: Event) => any)

Occurs when the download has stopped.

The event.

MDN Reference

onsubmit: null | ((this: GlobalEventHandlers, ev: SubmitEvent) => any)
onsuspend: null | ((this: GlobalEventHandlers, ev: Event) => any)

Occurs if the load operation has been intentionally halted.

The event.

MDN Reference

ontimeupdate: null | ((this: GlobalEventHandlers, ev: Event) => any)

Occurs to indicate the current playback position.

The event.

MDN Reference

ontoggle: null | ((this: GlobalEventHandlers, ev: Event) => any)
ontouchcancel?: null | ((this: GlobalEventHandlers, ev: TouchEvent) => any)
ontouchend?: null | ((this: GlobalEventHandlers, ev: TouchEvent) => any)
ontouchmove?: null | ((this: GlobalEventHandlers, ev: TouchEvent) => any)
ontouchstart?: null | ((this: GlobalEventHandlers, ev: TouchEvent) => any)
ontransitioncancel: null | ((this: GlobalEventHandlers, ev: TransitionEvent) => any)
ontransitionend: null | ((this: GlobalEventHandlers, ev: TransitionEvent) => any)
ontransitionrun: null | ((this: GlobalEventHandlers, ev: TransitionEvent) => any)
ontransitionstart: null | ((this: GlobalEventHandlers, ev: TransitionEvent) => any)
onvolumechange: null | ((this: GlobalEventHandlers, ev: Event) => any)

Occurs when the volume is changed, or playback is muted or unmuted.

The event.

MDN Reference

onwaiting: null | ((this: GlobalEventHandlers, ev: Event) => any)

Occurs when playback stops because the next frame of a video resource is not available.

The event.

MDN Reference

onwebkitanimationend: null | ((this: GlobalEventHandlers, ev: Event) => any)

This is a legacy alias of onanimationend.

MDN Reference

onwebkitanimationiteration: null | ((this: GlobalEventHandlers, ev: Event) => any)

This is a legacy alias of onanimationiteration.

MDN Reference

onwebkitanimationstart: null | ((this: GlobalEventHandlers, ev: Event) => any)

This is a legacy alias of onanimationstart.

MDN Reference

onwebkittransitionend: null | ((this: GlobalEventHandlers, ev: Event) => any)

This is a legacy alias of ontransitionend.

MDN Reference

onwheel: null | ((this: GlobalEventHandlers, ev: WheelEvent) => any)
outerHTML: string
outerText: string
ownerDocument: Document

Returns the node document. Returns null for documents.

MDN Reference

parentElement: null | HTMLElement

Returns the parent element.

MDN Reference

parentNode: null | ParentNode

Returns the parent.

MDN Reference

popover: null | string
prefix: null | string

Returns the namespace prefix.

MDN Reference

previousElementSibling: null | Element

Returns the first preceding sibling that is an element, and null otherwise.

MDN Reference

previousSibling: null | ChildNode

Returns the previous sibling.

MDN Reference

PROCESSING_INSTRUCTION_NODE

node is a ProcessingInstruction node.

role: null | string
scrollHeight: number
scrollLeft: number
scrollTop: number
scrollWidth: number
shadowRoot: null | ShadowRoot

Returns element's shadow root, if any, and if shadow root's mode is "open", and null otherwise.

MDN Reference

slot: string

Returns the value of element's slot content attribute. Can be set to change it.

MDN Reference

spellcheck: boolean
tabIndex: number
tagName: string

Returns the HTML-uppercased qualified name.

MDN Reference

TEXT_NODE

node is a Text node.

textContent: null | string
title: string
translate: boolean
writingSuggestions: string
createHTML: ((html: string) => any)

Support for Trusted Type.

This optional function will be called before a string of HTML is injected in the DOM, allowing that string to be sanitized according to a policy defined by the host.

readAloudHook: ((element: HTMLElement, text: string) => void)
speakHook: ((text: string) => void)
version: string
  • get classList(): DOMTokenList
  • Allows for manipulation of element's class content attribute as a set of whitespace-separated tokens through a DOMTokenList object.

    MDN Reference

    Returns DOMTokenList

  • set classList(value): void
  • Parameters

    • value: string

    Returns void

  • get computeEngine(): never
  • Internal

    Returns never

  • set computeEngine(_val): void
  • Internal

    Parameters

    • _val: unknown

    Returns void

  • get decimalSeparator(): never
  • Internal

    Returns never

  • set decimalSeparator(_val): void
  • Internal

    Parameters

    • _val: unknown

    Returns void

  • get disabled(): boolean
  • Returns boolean

  • set disabled(value): void
  • Parameters

    • value: boolean

    Returns void

  • get fontsDirectory(): never
  • Internal

    Returns never

  • set fontsDirectory(_value): void
  • Internal

    Parameters

    • _value: unknown

    Returns void

  • get form(): null | HTMLFormElement
  • Returns null | HTMLFormElement

  • get isSelectionEditable(): boolean
  • Returns boolean

  • get locale(): never
  • Internal

    Returns never

  • set locale(_value): void
  • Internal

    Parameters

    • _value: unknown

    Returns void

  • get mathVirtualKeyboard(): never
  • Internal

    Returns never

  • get mode(): ParseMode
  • Returns ParseMode

  • set mode(value): void
  • Parameters

    Returns void

  • get name(): string
  • Returns string

  • get part(): DOMTokenList
  • Returns DOMTokenList

  • set part(value): void
  • Parameters

    • value: string

    Returns void

  • get readonly(): boolean
  • Returns boolean

  • set readonly(value): void
  • Parameters

    • value: boolean

    Returns void

  • get readOnly(): boolean
  • Returns boolean

  • set readOnly(value): void
  • Parameters

    • value: boolean

    Returns void

  • get soundsDirectory(): never
  • Internal

    Returns never

  • set soundsDirectory(_value): void
  • Internal

    Parameters

    • _value: unknown

    Returns void

  • get strings(): never
  • Internal

    Returns never

  • set strings(_val): void
  • Internal

    Parameters

    • _val: unknown

    Returns void

  • get style(): CSSStyleDeclaration
  • Returns CSSStyleDeclaration

  • set style(cssText): void
  • Parameters

    • cssText: string

    Returns void

  • get type(): string
  • Returns string

  • get computeEngine(): null | ComputeEngine
  • A custom compute engine instance. If none is provided, a default one is used. If null is specified, no compute engine is used.

    Returns null | ComputeEngine

  • set computeEngine(value): void
  • Parameters

    Returns void

  • get fontsDirectory(): null | string
  • A URL fragment pointing to the directory containing the fonts necessary to render a formula.

    These fonts are available in the /dist/fonts directory of the SDK.

    Customize this value to reflect where you have copied these fonts, or to use the CDN version.

    The default value is "./fonts". Use null to prevent any fonts from being loaded.

    Changing this setting after the mathfield has been created will have no effect.

    {
    // Use the CDN version
    fontsDirectory: ''
    }
    {
    // Use a directory called "fonts", located next to the
    // `mathlive.js` (or `mathlive.mjs`) file.
    fontsDirectory: './fonts'
    }
    {
    // Use a directory located at the root of your website
    fontsDirectory: 'https://example.com/fonts'
    }

    Returns null | string

  • set fontsDirectory(value): void
  • Parameters

    • value: null | string

    Returns void

  • get formAssociated(): boolean
  • Returns boolean

  • get isFunction(): ((command: string) => boolean)
  • Returns ((command: string) => boolean)

      • (command): boolean
      • Parameters

        • command: string

        Returns boolean

  • set isFunction(value): void
  • Parameters

    • value: ((command: string) => boolean)
        • (command): boolean
        • Parameters

          • command: string

          Returns boolean

    Returns void

  • get observedAttributes(): readonly string[]
  • Internal

    Custom elements lifecycle hooks

    Returns readonly string[]

  • get optionsAttributes(): Readonly<Record<string,
        | "string"
        | "number"
        | "boolean"
        | "on/off">>
  • Internal

    Private lifecycle hooks. If adding a 'boolean' attribute, add its default value to getOptionsFromAttributes

    Returns Readonly<Record<string,
        | "string"
        | "number"
        | "boolean"
        | "on/off">>

  • get plonkSound(): null | string
  • Sound played to provide feedback when a command has no effect, for example when pressing the spacebar at the root level.

    The property is either:

    • a string, the name of an audio file in the soundsDirectory directory
    • null to turn off the sound

    Returns null | string

  • set plonkSound(value): void
  • Parameters

    • value: null | string

    Returns void

  • get speechEngine(): "local" | "amazon"
  • Indicates which speech engine to use for speech output.

    Use local to use the OS-specific TTS engine.

    Use amazon for Amazon Text-to-Speech cloud API. You must include the AWS API library and configure it with your API key before use.

    See Guide: Speech

    Returns "local" | "amazon"

  • set speechEngine(value): void
  • Parameters

    • value: "local" | "amazon"

    Returns void

  • get speechEngineRate(): string
  • Sets the speed of the selected voice.

    One of x-slow, slow, medium, fast, x-fast or a value as a percentage.

    Range is 20% to 200% For example 200% to indicate a speaking rate twice the default rate.

    Returns string

  • set speechEngineRate(value): void
  • Parameters

    • value: string

    Returns void

  • get speechEngineVoice(): string
  • Indicates the voice to use with the speech engine.

    This is dependent on the speech engine. For Amazon Polly, see here: https://docs.aws.amazon.com/polly/latest/dg/voicelist.html

    Returns string

  • set speechEngineVoice(value): void
  • Parameters

    • value: string

    Returns void

  • get textToSpeechMarkup():
        | ""
        | "ssml"
        | "ssml_step"
        | "mac"
  • The markup syntax to use for the output of conversion to spoken text.

    Possible values are ssml for the SSML markup or mac for the macOS markup, i.e. &#91;&#91;ltr&#93;&#93;.

    Returns
        | ""
        | "ssml"
        | "ssml_step"
        | "mac"

  • set textToSpeechMarkup(value): void
  • Parameters

    • value:
          | ""
          | "ssml"
          | "ssml_step"
          | "mac"

    Returns void

  • get textToSpeechRules(): "mathlive" | "sre"
  • Specify which set of text to speech rules to use.

    A value of mathlive indicates that the simple rules built into MathLive should be used.

    A value of sre indicates that the Speech Rule Engine from Volker Sorge should be used.

    (Caution) SRE is not included or loaded by MathLive. For this option to work SRE should be loaded separately.

    See Guide: Speech

    Returns "mathlive" | "sre"

  • set textToSpeechRules(value): void
  • Parameters

    • value: "mathlive" | "sre"

    Returns void

  • get textToSpeechRulesOptions(): Readonly<Record<string, string>>
  • A set of key/value pairs that can be used to configure the speech rule engine.

    Which options are available depends on the speech rule engine in use. There are no options available with MathLive's built-in engine. The options for the SRE engine are documented here

    Returns Readonly<Record<string, string>>

  • set textToSpeechRulesOptions(value): void
  • Parameters

    Returns void

  • Appends an event listener for events whose type attribute value is type. The callback argument sets the callback that will be invoked when the event is dispatched.

    The options argument sets listener-specific options. For compatibility this can be a boolean, in which case the method behaves exactly as if the value was specified as options's capture.

    When set to true, options's capture prevents callback from being invoked when the event's eventPhase attribute value is BUBBLING_PHASE. When false (or not present), callback will not be invoked when event's eventPhase attribute value is CAPTURING_PHASE. Either way, callback will be invoked if event's eventPhase attribute value is AT_TARGET.

    When set to true, options's passive indicates that the callback will not cancel the event by invoking preventDefault(). This is used to enable performance optimizations described in § 2.8 Observing event listeners.

    When set to true, options's once indicates that the callback will only be invoked once after which the event listener will be removed.

    If an AbortSignal is passed for options's signal, then the event listener will be removed when signal is aborted.

    The event listener is appended to target's event listener list and is not appended if it has the same type, callback, and capture.

    MDN Reference

    Type Parameters

    • K extends keyof HTMLElementEventMap

    Parameters

    Returns void

  • Appends an event listener for events whose type attribute value is type. The callback argument sets the callback that will be invoked when the event is dispatched.

    The options argument sets listener-specific options. For compatibility this can be a boolean, in which case the method behaves exactly as if the value was specified as options's capture.

    When set to true, options's capture prevents callback from being invoked when the event's eventPhase attribute value is BUBBLING_PHASE. When false (or not present), callback will not be invoked when event's eventPhase attribute value is CAPTURING_PHASE. Either way, callback will be invoked if event's eventPhase attribute value is AT_TARGET.

    When set to true, options's passive indicates that the callback will not cancel the event by invoking preventDefault(). This is used to enable performance optimizations described in § 2.8 Observing event listeners.

    When set to true, options's once indicates that the callback will only be invoked once after which the event listener will be removed.

    If an AbortSignal is passed for options's signal, then the event listener will be removed when signal is aborted.

    The event listener is appended to target's event listener list and is not appended if it has the same type, callback, and capture.

    MDN Reference

    Parameters

    Returns void

  • Inserts nodes just after node, while replacing strings in nodes with equivalent Text nodes.

    Throws a "HierarchyRequestError" DOMException if the constraints of the node tree are violated.

    MDN Reference

    Parameters

    • Rest...nodes: (string | Node)[]

    Returns void

  • Inserts nodes after the last child of node, while replacing strings in nodes with equivalent Text nodes.

    Throws a "HierarchyRequestError" DOMException if the constraints of the node tree are violated.

    MDN Reference

    Parameters

    • Rest...nodes: (string | Node)[]

    Returns void

  • Type Parameters

    Parameters

    • node: T

    Returns T

  • Internal

    Custom elements lifecycle hooks

    Parameters

    • name: string
    • oldValue: unknown
    • newValue: unknown

    Returns void

  • Inserts nodes just before node, while replacing strings in nodes with equivalent Text nodes.

    Throws a "HierarchyRequestError" DOMException if the constraints of the node tree are violated.

    MDN Reference

    Parameters

    • Rest...nodes: (string | Node)[]

    Returns void

  • Returns void

  • Returns a copy of node. If deep is true, the copy also includes the node's descendants.

    MDN Reference

    Parameters

    • Optionalsubtree: boolean

    Returns Node

  • Returns the first (starting at element) inclusive ancestor that matches selectors, and null otherwise.

    MDN Reference

    Type Parameters

    • K extends keyof HTMLElementTagNameMap

    Parameters

    • selector: K

    Returns null | HTMLElementTagNameMap[K]

  • Type Parameters

    Parameters

    • selector: K

    Returns null | SVGElementTagNameMap[K]

  • Type Parameters

    Parameters

    • selector: K

    Returns null | MathMLElementTagNameMap[K]

  • Type Parameters

    Parameters

    • selectors: string

    Returns null | E

  • Returns a bitmask indicating the position of other relative to node.

    MDN Reference

    Parameters

    Returns number

  • Internal

    Custom elements lifecycle hooks

    Returns void

  • Returns true if other is an inclusive descendant of node, and false otherwise.

    MDN Reference

    Parameters

    Returns boolean

  • Internal

    Custom elements lifecycle hooks

    Returns void

  • Dispatches a synthetic event event to target and returns true if either event's cancelable attribute value is false or its preventDefault() method was not invoked, and false otherwise.

    MDN Reference

    Parameters

    Returns boolean

  • Execute a [[Commands|command]] defined by a selector.

    mfe.executeCommand('add-column-after');
    mfe.executeCommand(['switch-mode', 'math']);

    Parameters

    • command: Selector | [Selector, ...any[]]

      A selector, or an array whose first element is a selector, and whose subsequent elements are arguments to the selector.

      Selectors can be passed either in camelCase or kebab-case.

      // Both calls do the same thing
      mfe.executeCommand('selectAll');
      mfe.executeCommand('select-all');

    Returns boolean

  • Returns element's first attribute whose qualified name is qualifiedName, and null if there is no such attribute otherwise.

    MDN Reference

    Parameters

    • qualifiedName: string

    Returns null | string

  • Returns the qualified names of all element's attributes. Can contain duplicates.

    MDN Reference

    Returns string[]

  • Parameters

    • qualifiedName: string

    Returns null | Attr

  • Parameters

    • namespace: null | string
    • localName: string

    Returns null | Attr

  • Returns element's attribute whose namespace is namespace and local name is localName, and null if there is no such attribute otherwise.

    MDN Reference

    Parameters

    • namespace: null | string
    • localName: string

    Returns null | string

  • Returns DOMRectList

  • Returns a HTMLCollection of the elements in the object on which the method was invoked (a document or an element) that have all the classes given by classNames. The classNames argument is interpreted as a space-separated list of classes.

    MDN Reference

    Parameters

    • classNames: string

    Returns HTMLCollectionOf<Element>

  • Parameters

    • namespaceURI: "http://www.w3.org/1999/xhtml"
    • localName: string

    Returns HTMLCollectionOf<HTMLElement>

  • Parameters

    • namespaceURI: "http://www.w3.org/2000/svg"
    • localName: string

    Returns HTMLCollectionOf<SVGElement>

  • Parameters

    • namespaceURI: "http://www.w3.org/1998/Math/MathML"
    • localName: string

    Returns HTMLCollectionOf<MathMLElement>

  • Parameters

    • namespace: null | string
    • localName: string

    Returns HTMLCollectionOf<Element>

  • Parameters

    • id: string

    Returns [undefined | "correct" | "incorrect", boolean]

  • Internal

    Parameters

    Returns void

  • Returns true if element has an attribute whose qualified name is qualifiedName, and false otherwise.

    MDN Reference

    Parameters

    • qualifiedName: string

    Returns boolean

  • Returns true if element has an attribute whose namespace is namespace and local name is localName.

    MDN Reference

    Parameters

    • namespace: null | string
    • localName: string

    Returns boolean

  • Returns true if element has attributes, and false otherwise.

    MDN Reference

    Returns boolean

  • Returns whether node has children.

    MDN Reference

    Returns boolean

  • Parameters

    • pointerId: number

    Returns boolean

  • Returns void

  • Type Parameters

    Parameters

    • node: T
    • child: null | Node

    Returns T

  • Parameters

    • namespace: null | string

    Returns boolean

  • Returns whether node and otherNode have the same properties.

    MDN Reference

    Parameters

    • otherNode: null | Node

    Returns boolean

  • Parameters

    • otherNode: null | Node

    Returns boolean

  • Parameters

    • prefix: null | string

    Returns null | string

  • Parameters

    • namespace: null | string

    Returns null | string

  • Returns true if matching selectors against element's root yields element, and false otherwise.

    MDN Reference

    Parameters

    • selectors: string

    Returns boolean

  • Removes empty exclusive Text nodes and concatenates the data of remaining contiguous exclusive Text nodes into the first of their nodes.

    MDN Reference

    Returns void

  • Internal

    Returns void

  • Inserts nodes before the first child of node, while replacing strings in nodes with equivalent Text nodes.

    Throws a "HierarchyRequestError" DOMException if the constraints of the node tree are violated.

    MDN Reference

    Parameters

    • Rest...nodes: (string | Node)[]

    Returns void

  • Parameters

    • pointerId: number

    Returns void

  • Removes node.

    MDN Reference

    Returns void

  • Removes element's first attribute whose qualified name is qualifiedName.

    MDN Reference

    Parameters

    • qualifiedName: string

    Returns void

  • Removes element's attribute whose namespace is namespace and local name is localName.

    MDN Reference

    Parameters

    • namespace: null | string
    • localName: string

    Returns void

  • Type Parameters

    Parameters

    • child: T

    Returns T

  • Removes the event listener in target's event listener list with the same type, callback, and options.

    MDN Reference

    Type Parameters

    • K extends keyof HTMLElementEventMap

    Parameters

    Returns void

  • Removes the event listener in target's event listener list with the same type, callback, and options.

    MDN Reference

    Parameters

    Returns void

  • Type Parameters

    Parameters

    Returns T

  • Replace all children of node with nodes, while replacing strings in nodes with equivalent Text nodes.

    Throws a "HierarchyRequestError" DOMException if the constraints of the node tree are violated.

    MDN Reference

    Parameters

    • Rest...nodes: (string | Node)[]

    Returns void

  • Replaces node with nodes, while replacing strings in nodes with equivalent Text nodes.

    Throws a "HierarchyRequestError" DOMException if the constraints of the node tree are violated.

    MDN Reference

    Parameters

    • Rest...nodes: (string | Node)[]

    Returns void

  • Displays element fullscreen and resolves promise when done.

    When supplied, options's navigationUI member indicates whether showing navigation UI while in fullscreen is preferred or not. If set to "show", navigation simplicity is preferred over screen space, and if set to "hide", more screen space is preferred. User agents are always free to honor user preference over the application's. The default value "auto" indicates no application preference.

    MDN Reference

    Parameters

    Returns Promise<void>

  • Parameters

    Returns void

  • Parameters

    • x: number
    • y: number

    Returns void

  • Parameters

    Returns void

  • Parameters

    • x: number
    • y: number

    Returns void

  • Parameters

    Returns void

  • Parameters

    • x: number
    • y: number

    Returns void

  • Sets the value of element's first attribute whose qualified name is qualifiedName to value.

    MDN Reference

    Parameters

    • qualifiedName: string
    • value: string

    Returns void

  • Sets the value of element's attribute whose namespace is namespace and local name is localName to value.

    MDN Reference

    Parameters

    • namespace: null | string
    • qualifiedName: string
    • value: string

    Returns void

  • Parameters

    • html: string

    Returns void

  • Parameters

    • pointerId: number

    Returns void

  • Parameters

    • _: {
          location: {
              x: number;
              y: number;
          };
          modifiers: KeyboardModifiers;
      }
      • location: {
            x: number;
            y: number;
        }
        • x: number
        • y: number
      • modifiers: KeyboardModifiers

    Returns boolean

  • Returns void

  • If force is not given, "toggles" qualifiedName, removing it if it is present and adding it if it is not present. If force is true, adds qualifiedName. If force is false, removes qualifiedName.

    Returns true if qualifiedName is now present, and false otherwise.

    MDN Reference

    Parameters

    • qualifiedName: string
    • Optionalforce: boolean

    Returns boolean

  • Parameters

    • Optionaloptions: boolean

    Returns boolean

  • Internal

    Private lifecycle hooks

    Parameters

    • prop: string

    Returns void

  • Parameters

    • selectors: string

    Returns boolean

    This is a legacy alias of matches.

    MDN Reference

  • Parameters

    • sound:
          | "keypress"
          | "delete"
          | "plonk"
          | "spacebar"
          | "return"

    Returns Promise<void>

  • Parameters

    • name:
          | "keypress"
          | "delete"
          | "plonk"
          | "spacebar"
          | "return"

    Returns Promise<void>

Prompts

  • Return the selection range for the specified prompt.

    This can be used for example to select the content of the prompt.

    mf.selection = mf.getPromptRange('my-prompt-id');
    

    Parameters

    • id: string

    Returns null | Range

  • Return the id of the prompts matching the filter.

    Parameters

    • Optionalfilter: {
          correctness?: "undefined" | "correct" | "incorrect";
          id?: string;
          locked?: boolean;
      }
      • Optionalcorrectness?: "undefined" | "correct" | "incorrect"
      • Optionalid?: string
      • Optionallocked?: boolean

    Returns string[]

  • Return the content of the \placeholder{} command with the placeholderId

    Parameters

    Returns string

  • Parameters

    • id: string
    • state:
          | undefined
          | "undefined"
          | "correct"
          | "incorrect"
    • Optionallocked: boolean

    Returns void

  • Parameters

    Returns void

Selection

  • get caretPoint(): null | Readonly<{
        x: number;
        y: number;
    }>
  • The bottom location of the caret (insertion point) in viewport coordinates.

    See also [[setCaretPoint]]

    Returns null | Readonly<{
        x: number;
        y: number;
    }>

  • set caretPoint(point): void
  • Parameters

    • point: null | {
          x: number;
          y: number;
      }

    Returns void

  • get lastOffset(): number
  • The last valid offset.

    Returns number

  • get position(): number
  • The position of the caret/insertion point, from 0 to lastOffset.

    Returns number

  • set position(offset): void
  • Parameters

    • offset: number

    Returns void

  • get selection(): Readonly<Selection>
  • An array of ranges representing the selection.

    It is guaranteed there will be at least one element. If a discontinuous selection is present, the result will include more than one element.

    Returns Readonly<Selection>

  • set selection(sel): void
  • Parameters

    Returns void

  • get selectionIsCollapsed(): boolean
  • Returns boolean

  • The depth of an offset represent the depth in the expression tree.

    Parameters

    • offset: number

    Returns number

  • The bounding rect of the atom at offset

    Parameters

    • offset: number

    Returns null | DOMRect

  • The offset closest to the location (x, y) in viewport coordinate.

    bias: if 0, the vertical midline is considered to the left or right sibling. If -1, the left sibling is favored, if +1, the right sibling is favored.

    Parameters

    • x: number
    • y: number
    • Optionaloptions: {
          bias?: 0 | 1 | -1;
      }
      • Optionalbias?: 0 | 1 | -1

    Returns number

  • Select the content of the mathfield.

    Returns void

  • x and y are in viewport coordinates.

    Return true if the location of the point is a valid caret location.

    See also [[caretPoint]]

    Parameters

    • x: number
    • y: number

    Returns boolean

Undo

  • Return whether there are redoable items

    Returns boolean

  • Return whether there are undoable items

    Returns boolean

  • Reset the undo stack

    Returns void

Virtual Keyboard

keypressVibration: boolean

When a key on the virtual keyboard is pressed, produce a short haptic feedback, if the device supports it.

  • get mathVirtualKeyboardPolicy(): VirtualKeyboardPolicy
  • Returns VirtualKeyboardPolicy

  • set mathVirtualKeyboardPolicy(value): void
  • Parameters

    Returns void

  • get virtualKeyboardTargetOrigin(): string
  • Returns string

  • set virtualKeyboardTargetOrigin(value): void
  • Parameters

    • value: string

    Returns void

  • get keypressSound(): Readonly<{
        default: null | string;
        delete: null | string;
        return: null | string;
        spacebar: null | string;
    }>
  • When a key on the virtual keyboard is pressed, produce a short audio feedback.

    If the property is set to a string, the same sound is played in all cases. Otherwise, a distinct sound is played:

    • delete a sound played when the delete key is pressed
    • return ... when the return/tab key is pressed
    • spacebar ... when the spacebar is pressed
    • default ... when any other key is pressed. This property is required, the others are optional. If they are missing, this sound is played as well.

    The value of the properties should be either a string, the name of an audio file in the soundsDirectory directory or null to suppress the sound.

    Returns Readonly<{
        default: null | string;
        delete: null | string;
        return: null | string;
        spacebar: null | string;
    }>

  • set keypressSound(value): void
  • Parameters

    • value: null | string | {
          default: null | string;
          delete?: null | string;
          return?: null | string;
          spacebar?: null | string;
      }

    Returns void

  • get soundsDirectory(): null | string
  • A URL fragment pointing to the directory containing the optional sounds used to provide feedback while typing.

    Some default sounds are available in the /dist/sounds directory of the SDK.

    Use null to prevent any sound from being loaded.

    Returns null | string

  • set soundsDirectory(value): void
  • Parameters

    • value: null | string

    Returns void