Element#
Annotations: @Native.new("Element")
An abstract class, which all HTML elements extend.
Inheritance
Object → EventTarget → Node → Element
Implemented types
Constructors#
Element.a() factory#
Creates a new <a> element.
This is equivalent to calling new Element.tag('a').
Implementation
factory Element.a() => new AnchorElement();
Element.article() factory#
Creates a new <article> element.
This is equivalent to calling new Element.tag('article').
Implementation
factory Element.article() => new Element.tag('article');
Element.aside() factory#
Creates a new <aside> element.
This is equivalent to calling new Element.tag('aside').
Implementation
factory Element.aside() => new Element.tag('aside');
Element.audio() factory#
Creates a new <audio> element.
This is equivalent to calling new Element.tag('audio').
Implementation
factory Element.audio() => new Element.tag('audio');
Element.br() factory#
Creates a new <br> element.
This is equivalent to calling new Element.tag('br').
Implementation
factory Element.br() => new BRElement();
Element.canvas() factory#
Creates a new <canvas> element.
This is equivalent to calling new Element.tag('canvas').
Implementation
factory Element.canvas() => new CanvasElement();
Element.div() factory#
Creates a new <div> element.
This is equivalent to calling new Element.tag('div').
Implementation
factory Element.div() => new DivElement();
Element.footer() factory#
Creates a new <footer> element.
This is equivalent to calling new Element.tag('footer').
Implementation
factory Element.footer() => new Element.tag('footer');
Element.header() factory#
Creates a new <header> element.
This is equivalent to calling new Element.tag('header').
Implementation
factory Element.header() => new Element.tag('header');
Element.hr() factory#
Creates a new <hr> element.
This is equivalent to calling new Element.tag('hr').
Implementation
factory Element.hr() => new Element.tag('hr');
Element.html() factory#
Creates an HTML element from a valid fragment of HTML.
var element = new Element.html('<div class="foo">content</div>');
The HTML fragment should contain only one single root element, any leading or trailing text nodes will be removed.
The HTML fragment is parsed as if it occurred within the context of a
<body> tag, this means that special elements such as <caption>
which
must be parsed within the scope of a <table> element will be dropped. Use
createFragment
to parse contextual HTML fragments.
Unless a validator is provided this will perform the default validation and remove all scriptable elements and attributes.
See also:
Implementation
factory Element.html(
String? html, {
NodeValidator? validator,
NodeTreeSanitizer? treeSanitizer,
}) {
var fragment = document.body!.createFragment(
html,
validator: validator,
treeSanitizer: treeSanitizer,
);
return fragment.nodes.where((e) => e is Element).single as Element;
}
Element.iframe() factory#
Creates a new <iframe> element.
This is equivalent to calling new Element.tag('iframe').
Implementation
factory Element.iframe() => new Element.tag('iframe');
Element.img() factory#
Creates a new <img> element.
This is equivalent to calling new Element.tag('img').
Implementation
factory Element.img() => new Element.tag('img');
Element.li() factory#
Creates a new <li> element.
This is equivalent to calling new Element.tag('li').
Implementation
factory Element.li() => new Element.tag('li');
Element.nav() factory#
Creates a new <nav> element.
This is equivalent to calling new Element.tag('nav').
Implementation
factory Element.nav() => new Element.tag('nav');
Element.ol() factory#
Creates a new <ol> element.
This is equivalent to calling new Element.tag('ol').
Implementation
factory Element.ol() => new Element.tag('ol');
Element.option() factory#
Creates a new <option> element.
This is equivalent to calling new Element.tag('option').
Implementation
factory Element.option() => new Element.tag('option');
Element.p() factory#
Creates a new <p> element.
This is equivalent to calling new Element.tag('p').
Implementation
factory Element.p() => new Element.tag('p');
Element.pre() factory#
Creates a new <pre> element.
This is equivalent to calling new Element.tag('pre').
Implementation
factory Element.pre() => new Element.tag('pre');
Element.section() factory#
Creates a new <section> element.
This is equivalent to calling new Element.tag('section').
Implementation
factory Element.section() => new Element.tag('section');
Element.select() factory#
Creates a new <select> element.
This is equivalent to calling new Element.tag('select').
Implementation
factory Element.select() => new Element.tag('select');
Element.span() factory#
Creates a new <span> element.
This is equivalent to calling new Element.tag('span').
Implementation
factory Element.span() => new Element.tag('span');
Element.svg() factory#
Creates a new <svg> element.
This is equivalent to calling new Element.tag('svg').
Implementation
factory Element.svg() => new Element.tag('svg');
Element.table() factory#
Creates a new <table> element.
This is equivalent to calling new Element.tag('table').
Implementation
factory Element.table() => new Element.tag('table');
Element.tag() factory#
Creates the HTML element specified by the tag name.
This is similar to Document.createElement.
tag should be a valid HTML tag name. If tag is an unknown tag then
this will create an UnknownElement.
var divElement = new Element.tag('div');
print(divElement is DivElement); // 'true'
var myElement = new Element.tag('unknownTag');
print(myElement is UnknownElement); // 'true'
For standard elements it is better to use the element type constructors:
var element = new DivElement();
It is better to use e.g new CanvasElement() because the type of the
expression is CanvasElement, whereas the type of
Element.tag is the
less specific Element.
See also:
Implementation
factory Element.tag(String tag, [String? typeExtension]) =>
_ElementFactoryProvider.createElement_tag(tag, typeExtension);
Element.td() factory#
Creates a new <td> element.
This is equivalent to calling new Element.tag('td').
Implementation
factory Element.td() => new Element.tag('td');
Element.textarea() factory#
Creates a new <textarea> element.
This is equivalent to calling new Element.tag('textarea').
Implementation
factory Element.textarea() => new Element.tag('textarea');
Element.th() factory#
Creates a new <th> element.
This is equivalent to calling new Element.tag('th').
Implementation
factory Element.th() => new Element.tag('th');
Element.tr() factory#
Creates a new <tr> element.
This is equivalent to calling new Element.tag('tr').
Implementation
factory Element.tr() => new Element.tag('tr');
Element.ul() factory#
Creates a new <ul> element.
This is equivalent to calling new Element.tag('ul').
Implementation
factory Element.ul() => new Element.tag('ul');
Element.video() factory#
Creates a new <video> element.
This is equivalent to calling new Element.tag('video').
Implementation
factory Element.video() => new Element.tag('video');
Properties#
accessibleNode no setter#
Implementation
AccessibleNode? get accessibleNode native;
assignedSlot no setter#
Implementation
SlotElement? get assignedSlot native;
attributes read / write#
All attributes on this element.
Any modifications to the attribute map will automatically be applied to this element.
This only includes attributes which are not in a namespace (such as 'xlink:href'), additional attributes can be accessed via getNamespacedAttributes.
Implementation
Map<String, String> get attributes => new _ElementAttributeMap(this);
set attributes(Map<String, String> value) {
Map<String, String> attributes = this.attributes;
attributes.clear();
for (String key in value.keys) {
attributes[key] = value[key]!;
}
}
baseUri no setter inherited#
Inherited from Node.
Implementation
@JSName('baseURI')
String? get baseUri native;
borderEdge no setter#
Access the dimensions and position of this element's content + padding + border box.
This returns a rectangle with the dimensions actually available for content in this element, in pixels, regardless of this element's box-sizing property. Unlike getBoundingClientRect, the dimensions of this rectangle will return the same numerical height if the element is hidden or not. This can be used to retrieve jQuery's outerHeight value for an element.
Important note: use of this method will perform CSS calculations that can trigger a browser reflow. Therefore, use of this property during an animation frame is discouraged. See also: Browser Reflow
Implementation
CssRect get borderEdge => new _BorderCssRect(this);
childNodes no setter inherited#
A list of this node's children.
Other resources
- Node.childNodes from MDN.
Inherited from Node.
Implementation
@Returns('NodeList')
@Creates('NodeList')
List<Node> get childNodes native;
children read / write#
List of the direct children of this element.
This collection can be used to add and remove elements from the document.
var item = new DivElement();
item.text = 'Something';
document.body.children.add(item) // Item is now displayed on the page.
for (var element in document.body.children) {
element.style.background = 'red'; // Turns every child of body red.
}
Implementation
List<Element> get children => new _ChildrenElementList._wrap(this);
set children(List<Element> value) {
// Copy list first since we don't want liveness during iteration.
var copy = value.toList();
var children = this.children;
children.clear();
children.addAll(copy);
}
classes read / write#
The set of CSS classes applied to this element.
This set makes it easy to add, remove or toggle the classes applied to this element.
element.classes.add('selected');
element.classes.toggle('isOnline');
element.classes.remove('selected');
Implementation
CssClassSet get classes => new _ElementCssClassSet(this);
set classes(Iterable<String> value) {
// TODO(sra): Do this without reading the classes in clear() and addAll(),
// or writing the classes in clear().
CssClassSet classSet = classes;
classSet.clear();
classSet.addAll(value);
}
className read / write#
Implementation
String get className native;
set className(String value) native;
client no setter#
Gets the position of this element relative to the client area of the page.
Implementation
Rectangle get client =>
new Rectangle(clientLeft!, clientTop!, clientWidth, clientHeight);
clientHeight no setter#
Implementation
int get clientHeight native;
clientLeft no setter#
Implementation
int? get clientLeft native;
clientTop no setter#
Implementation
int? get clientTop native;
clientWidth no setter#
Implementation
int get clientWidth native;
computedName no setter#
Implementation
String? get computedName native;
computedRole no setter#
Implementation
String? get computedRole native;
contentEdge no setter#
Access this element's content position.
This returns a rectangle with the dimensions actually available for content in this element, in pixels, regardless of this element's box-sizing property. Unlike getBoundingClientRect, the dimensions of this rectangle will return the same numerical height if the element is hidden or not.
Important note: use of this method will perform CSS calculations that can trigger a browser reflow. Therefore, use of this property during an animation frame is discouraged. See also: Browser Reflow
Implementation
CssRect get contentEdge => new _ContentCssRect(this);
contentEditable read / write#
Implementation
String get contentEditable native;
set contentEditable(String value) native;
dataset read / write#
Allows access to all custom data attributes (data-*) set on this element.
Any data attributes in the markup will be converted to camel-cased keys in the map based on these conversion rules.
For example, HTML specified as:
<div data-my-random-value='value'></div>
Would be accessed in Dart as:
var value = element.dataset['myRandomValue'];
See also:
Implementation
Map<String, String> get dataset => new _DataAttributeMap(attributes);
set dataset(Map<String, String> value) {
final data = this.dataset;
data.clear();
for (String key in value.keys) {
data[key] = value[key]!;
}
}
dir read / write#
Implementation
String? get dir native;
set dir(String? value) native;
documentOffset no setter#
Provides the coordinates of the element relative to the top of the document.
This method is the Dart equivalent to jQuery's offset method.
Implementation
Point get documentOffset => offsetTo(document.documentElement!);
draggable read / write#
Indicates whether the element can be dragged and dropped.
Other resources
- Drag and drop sample based on the tutorial from HTML5Rocks.
- Drag and drop specification from WHATWG.
Implementation
bool get draggable native;
set draggable(bool value) native;
firstChild no setter inherited#
The first child of this node.
Other resources
- Node.firstChild from MDN.
Inherited from Node.
Implementation
Node? get firstChild native;
hashCode no setter inherited#
Inherited from Interceptor.
Implementation
int get hashCode => Primitives.objectHashCode(this);
hidden read / write#
Indicates whether the element is not relevant to the page's current state.
Other resources
- Hidden attribute specification from WHATWG.
Implementation
bool get hidden native;
set hidden(bool value) native;
id read / write#
Implementation
String get id native;
set id(String value) native;
inert read / write#
Implementation
bool? get inert native;
set inert(bool? value) native;
innerHtml read / write#
Parses the HTML fragment and sets it as the contents of this element.
This uses the default sanitization behavior to sanitize the HTML fragment, use setInnerHtml to override the default behavior.
Implementation
String? get innerHtml => _innerHtml;
set innerHtml(String? html) {
this.setInnerHtml(html);
}
innerText read / write#
Implementation
@JSName('innerText')
String get innerText native;
set innerText(String value) native;
inputMode read / write#
Implementation
String? get inputMode native;
set inputMode(String? value) native;
isConnected no setter inherited#
Inherited from Node.
Implementation
bool? get isConnected native;
isContentEditable no setter#
Implementation
bool? get isContentEditable native;
lang read / write#
Implementation
String? get lang native;
set lang(String? value) native;
lastChild no setter inherited#
The last child of this node.
Other resources
- Node.lastChild from MDN.
Inherited from Node.
Implementation
Node? get lastChild native;
localName no setter#
Implementation
@Returns('String')
// Non-null for Elements.
String get localName => JS('String', '#', _localName);
marginEdge no setter#
Access the dimensions and position of this element's content + padding + border + margin box.
This returns a rectangle with the dimensions actually available for content in this element, in pixels, regardless of this element's box-sizing property. Unlike getBoundingClientRect, the dimensions of this rectangle will return the same numerical height if the element is hidden or not. This can be used to retrieve jQuery's outerHeight value for an element.
Important note: use of this method will perform CSS calculations that can trigger a browser reflow. Therefore, use of this property during an animation frame is discouraged. See also: Browser Reflow
Implementation
CssRect get marginEdge => new _MarginCssRect(this);
namespaceUri no setter#
A URI that identifies the XML namespace of this element.
null if no namespace URI is specified.
Other resources
- Node.namespaceURI from W3C.
Implementation
String? get namespaceUri => _namespaceUri;
nextElementSibling no setter override#
Implementation
Element? get nextElementSibling native;
nextNode no setter inherited#
The next sibling node.
Other resources
- Node.nextSibling from MDN.
Inherited from Node.
Implementation
@JSName('nextSibling')
/**
* The next sibling node.
*
* ## Other resources
*
* * [Node.nextSibling](https://developer.mozilla.org/en-US/docs/Web/API/Node.nextSibling)
* from MDN.
*/
Node? get nextNode native;
nodeName no setter inherited#
The name of this node.
This varies by this node's nodeType.
Other resources
- Node.nodeName from MDN. This page contains a table of nodeName values for each nodeType.
Inherited from Node.
Implementation
String? get nodeName native;
nodes read / write inherited#
A modifiable list of this node's children.
Inherited from Node.
Implementation
List<Node> get nodes {
return new _ChildNodeListLazy(this);
}
set nodes(Iterable<Node> value) {
// Copy list first since we don't want liveness during iteration.
// TODO(jacobr): there is a better way to do this.
var copy = value.toList();
text = '';
for (Node node in copy) {
append(node);
}
}
nodeType no setter inherited#
The type of node.
This value is one of:
- ATTRIBUTE_NODE if this node is an attribute.
- CDATA_SECTION_NODE if this node is a CDataSection.
- COMMENT_NODE if this node is a Comment.
- DOCUMENT_FRAGMENT_NODE if this node is a DocumentFragment.
- DOCUMENT_NODE if this node is a Document.
-
DOCUMENT_TYPE_NODE
if this node is a
_DocumentTypenode. - ELEMENT_NODE if this node is an Element.
- ENTITY_NODE if this node is an entity.
- ENTITY_REFERENCE_NODE if this node is an entity reference.
- NOTATION_NODE if this node is a notation.
- PROCESSING_INSTRUCTION_NODE if this node is a ProcessingInstruction.
- TEXT_NODE if this node is a Text node.
Other resources
- Node.nodeType from MDN.
Inherited from Node.
Implementation
int get nodeType native;
nodeValue no setter inherited#
The value of this node.
This varies by this type's nodeType.
Other resources
- Node.nodeValue from MDN. This page contains a table of nodeValue values for each nodeType.
Inherited from Node.
Implementation
String? get nodeValue native;
offset no setter#
Gets the offset of this element relative to its offsetParent.
Implementation
Rectangle get offset =>
new Rectangle(offsetLeft, offsetTop, offsetWidth, offsetHeight);
offsetHeight no setter#
Implementation
int get offsetHeight => JS<num>('num', '#.offsetHeight', this).round();
offsetLeft no setter#
Implementation
int get offsetLeft => JS<num>('num', '#.offsetLeft', this).round();
offsetParent no setter#
Implementation
Element? get offsetParent native;
offsetTop no setter#
Implementation
int get offsetTop => JS<num>('num', '#.offsetTop', this).round();
offsetWidth no setter#
Implementation
int get offsetWidth => JS<num>('num', '#.offsetWidth', this).round();
on no setter override#
This is an ease-of-use accessor for event streams which should only be used when an explicit accessor is not available.
Implementation
ElementEvents get on => new ElementEvents(this);
onAbort no setter override#
Stream of abort events handled by this Element.
Implementation
ElementStream<Event> get onAbort => abortEvent.forElement(this);
onBeforeCopy no setter#
Stream of beforecopy events handled by this Element.
Implementation
ElementStream<Event> get onBeforeCopy => beforeCopyEvent.forElement(this);
onBeforeCut no setter#
Stream of beforecut events handled by this Element.
Implementation
ElementStream<Event> get onBeforeCut => beforeCutEvent.forElement(this);
onBeforePaste no setter#
Stream of beforepaste events handled by this Element.
Implementation
ElementStream<Event> get onBeforePaste => beforePasteEvent.forElement(this);
onBlur no setter override#
Stream of blur events handled by this Element.
Implementation
ElementStream<Event> get onBlur => blurEvent.forElement(this);
onCanPlay no setter override#
Implementation
ElementStream<Event> get onCanPlay => canPlayEvent.forElement(this);
onCanPlayThrough no setter override#
Implementation
ElementStream<Event> get onCanPlayThrough =>
canPlayThroughEvent.forElement(this);
onChange no setter override#
Stream of change events handled by this Element.
Implementation
ElementStream<Event> get onChange => changeEvent.forElement(this);
onClick no setter override#
Stream of click events handled by this Element.
Implementation
ElementStream<MouseEvent> get onClick => clickEvent.forElement(this);
onContextMenu no setter override#
Stream of contextmenu events handled by this Element.
Implementation
ElementStream<MouseEvent> get onContextMenu =>
contextMenuEvent.forElement(this);
onCopy no setter#
Stream of copy events handled by this Element.
Implementation
ElementStream<ClipboardEvent> get onCopy => copyEvent.forElement(this);
onCut no setter#
Stream of cut events handled by this Element.
Implementation
ElementStream<ClipboardEvent> get onCut => cutEvent.forElement(this);
onDoubleClick no setter override#
Stream of doubleclick events handled by this Element.
Implementation
@DomName('Element.ondblclick')
ElementStream<Event> get onDoubleClick => doubleClickEvent.forElement(this);
onDrag no setter override#
A stream of drag events fired when this element currently being dragged.
A drag event is added to this stream as soon as the drag begins.
A drag event is also added to this stream at intervals while the drag
operation is still ongoing.
Other resources
- Drag and drop sample based on the tutorial from HTML5Rocks.
- Drag and drop specification from WHATWG.
Implementation
ElementStream<MouseEvent> get onDrag => dragEvent.forElement(this);
onDragEnd no setter override#
A stream of dragend events fired when this element completes a drag
operation.
Other resources
- Drag and drop sample based on the tutorial from HTML5Rocks.
- Drag and drop specification from WHATWG.
Implementation
ElementStream<MouseEvent> get onDragEnd => dragEndEvent.forElement(this);
onDragEnter no setter override#
A stream of dragenter events fired when a dragged object is first dragged
over this element.
Other resources
- Drag and drop sample based on the tutorial from HTML5Rocks.
- Drag and drop specification from WHATWG.
Implementation
ElementStream<MouseEvent> get onDragEnter => dragEnterEvent.forElement(this);
onDragLeave no setter override#
A stream of dragleave events fired when an object being dragged over this
element leaves this element's target area.
Other resources
- Drag and drop sample based on the tutorial from HTML5Rocks.
- Drag and drop specification from WHATWG.
Implementation
ElementStream<MouseEvent> get onDragLeave => dragLeaveEvent.forElement(this);
onDragOver no setter override#
A stream of dragover events fired when a dragged object is currently
being dragged over this element.
Other resources
- Drag and drop sample based on the tutorial from HTML5Rocks.
- Drag and drop specification from WHATWG.
Implementation
ElementStream<MouseEvent> get onDragOver => dragOverEvent.forElement(this);
onDragStart no setter override#
A stream of dragstart events fired when this element starts being
dragged.
Other resources
- Drag and drop sample based on the tutorial from HTML5Rocks.
- Drag and drop specification from WHATWG.
Implementation
ElementStream<MouseEvent> get onDragStart => dragStartEvent.forElement(this);
onDrop no setter override#
A stream of drop events fired when a dragged object is dropped on this
element.
Other resources
- Drag and drop sample based on the tutorial from HTML5Rocks.
- Drag and drop specification from WHATWG.
Implementation
ElementStream<MouseEvent> get onDrop => dropEvent.forElement(this);
onDurationChange no setter override#
Implementation
ElementStream<Event> get onDurationChange =>
durationChangeEvent.forElement(this);
onEmptied no setter override#
Implementation
ElementStream<Event> get onEmptied => emptiedEvent.forElement(this);
onEnded no setter override#
Implementation
ElementStream<Event> get onEnded => endedEvent.forElement(this);
onError no setter override#
Stream of error events handled by this Element.
Implementation
ElementStream<Event> get onError => errorEvent.forElement(this);
onFocus no setter override#
Stream of focus events handled by this Element.
Implementation
ElementStream<Event> get onFocus => focusEvent.forElement(this);
onFullscreenChange no setter#
Stream of fullscreenchange events handled by this Element.
Implementation
ElementStream<Event> get onFullscreenChange =>
fullscreenChangeEvent.forElement(this);
onFullscreenError no setter#
Stream of fullscreenerror events handled by this Element.
Implementation
ElementStream<Event> get onFullscreenError =>
fullscreenErrorEvent.forElement(this);
onInput no setter override#
Stream of input events handled by this Element.
Implementation
ElementStream<Event> get onInput => inputEvent.forElement(this);
onInvalid no setter override#
Stream of invalid events handled by this Element.
Implementation
ElementStream<Event> get onInvalid => invalidEvent.forElement(this);
onKeyDown no setter override#
Stream of keydown events handled by this Element.
Implementation
ElementStream<KeyboardEvent> get onKeyDown => keyDownEvent.forElement(this);
onKeyPress no setter override#
Stream of keypress events handled by this Element.
Implementation
ElementStream<KeyboardEvent> get onKeyPress => keyPressEvent.forElement(this);
onKeyUp no setter override#
Stream of keyup events handled by this Element.
Implementation
ElementStream<KeyboardEvent> get onKeyUp => keyUpEvent.forElement(this);
onLoad no setter override#
Stream of load events handled by this Element.
Implementation
ElementStream<Event> get onLoad => loadEvent.forElement(this);
onLoadedData no setter override#
Implementation
ElementStream<Event> get onLoadedData => loadedDataEvent.forElement(this);
onLoadedMetadata no setter override#
Implementation
ElementStream<Event> get onLoadedMetadata =>
loadedMetadataEvent.forElement(this);
onMouseDown no setter override#
Stream of mousedown events handled by this Element.
Implementation
ElementStream<MouseEvent> get onMouseDown => mouseDownEvent.forElement(this);
onMouseEnter no setter override#
Stream of mouseenter events handled by this Element.
Implementation
ElementStream<MouseEvent> get onMouseEnter =>
mouseEnterEvent.forElement(this);
onMouseLeave no setter override#
Stream of mouseleave events handled by this Element.
Implementation
ElementStream<MouseEvent> get onMouseLeave =>
mouseLeaveEvent.forElement(this);
onMouseMove no setter override#
Stream of mousemove events handled by this Element.
Implementation
ElementStream<MouseEvent> get onMouseMove => mouseMoveEvent.forElement(this);
onMouseOut no setter override#
Stream of mouseout events handled by this Element.
Implementation
ElementStream<MouseEvent> get onMouseOut => mouseOutEvent.forElement(this);
onMouseOver no setter override#
Stream of mouseover events handled by this Element.
Implementation
ElementStream<MouseEvent> get onMouseOver => mouseOverEvent.forElement(this);
onMouseUp no setter override#
Stream of mouseup events handled by this Element.
Implementation
ElementStream<MouseEvent> get onMouseUp => mouseUpEvent.forElement(this);
onMouseWheel no setter override#
Stream of mousewheel events handled by this Element.
Implementation
ElementStream<WheelEvent> get onMouseWheel =>
mouseWheelEvent.forElement(this);
onPaste no setter#
Stream of paste events handled by this Element.
Implementation
ElementStream<ClipboardEvent> get onPaste => pasteEvent.forElement(this);
onPause no setter override#
Implementation
ElementStream<Event> get onPause => pauseEvent.forElement(this);
onPlay no setter override#
Implementation
ElementStream<Event> get onPlay => playEvent.forElement(this);
onPlaying no setter override#
Implementation
ElementStream<Event> get onPlaying => playingEvent.forElement(this);
onRateChange no setter override#
Implementation
ElementStream<Event> get onRateChange => rateChangeEvent.forElement(this);
onReset no setter override#
Stream of reset events handled by this Element.
Implementation
ElementStream<Event> get onReset => resetEvent.forElement(this);
onResize no setter override#
Implementation
ElementStream<Event> get onResize => resizeEvent.forElement(this);
onScroll no setter override#
Stream of scroll events handled by this Element.
Implementation
ElementStream<Event> get onScroll => scrollEvent.forElement(this);
onSearch no setter#
Stream of search events handled by this Element.
Implementation
ElementStream<Event> get onSearch => searchEvent.forElement(this);
onSeeked no setter override#
Implementation
ElementStream<Event> get onSeeked => seekedEvent.forElement(this);
onSeeking no setter override#
Implementation
ElementStream<Event> get onSeeking => seekingEvent.forElement(this);
onSelect no setter override#
Stream of select events handled by this Element.
Implementation
ElementStream<Event> get onSelect => selectEvent.forElement(this);
onSelectStart no setter#
Stream of selectstart events handled by this Element.
Implementation
ElementStream<Event> get onSelectStart => selectStartEvent.forElement(this);
onStalled no setter override#
Implementation
ElementStream<Event> get onStalled => stalledEvent.forElement(this);
onSubmit no setter override#
Stream of submit events handled by this Element.
Implementation
ElementStream<Event> get onSubmit => submitEvent.forElement(this);
onSuspend no setter override#
Implementation
ElementStream<Event> get onSuspend => suspendEvent.forElement(this);
onTimeUpdate no setter override#
Implementation
ElementStream<Event> get onTimeUpdate => timeUpdateEvent.forElement(this);
onTouchCancel no setter override#
Stream of touchcancel events handled by this Element.
Implementation
ElementStream<TouchEvent> get onTouchCancel =>
touchCancelEvent.forElement(this);
onTouchEnd no setter override#
Stream of touchend events handled by this Element.
Implementation
ElementStream<TouchEvent> get onTouchEnd => touchEndEvent.forElement(this);
onTouchEnter no setter#
Stream of touchenter events handled by this Element.
Implementation
ElementStream<TouchEvent> get onTouchEnter =>
touchEnterEvent.forElement(this);
onTouchLeave no setter#
Stream of touchleave events handled by this Element.
Implementation
ElementStream<TouchEvent> get onTouchLeave =>
touchLeaveEvent.forElement(this);
onTouchMove no setter override#
Stream of touchmove events handled by this Element.
Implementation
ElementStream<TouchEvent> get onTouchMove => touchMoveEvent.forElement(this);
onTouchStart no setter override#
Stream of touchstart events handled by this Element.
Implementation
ElementStream<TouchEvent> get onTouchStart =>
touchStartEvent.forElement(this);
onTransitionEnd no setter#
Stream of transitionend events handled by this Element.
Implementation
@SupportedBrowser(SupportedBrowser.CHROME)
@SupportedBrowser(SupportedBrowser.FIREFOX)
@SupportedBrowser(SupportedBrowser.IE, '10')
@SupportedBrowser(SupportedBrowser.SAFARI)
ElementStream<TransitionEvent> get onTransitionEnd =>
transitionEndEvent.forElement(this);
onVolumeChange no setter override#
Implementation
ElementStream<Event> get onVolumeChange => volumeChangeEvent.forElement(this);
onWaiting no setter override#
Implementation
ElementStream<Event> get onWaiting => waitingEvent.forElement(this);
onWheel no setter override#
Implementation
ElementStream<WheelEvent> get onWheel => wheelEvent.forElement(this);
outerHtml no setter#
Implementation
@JSName('outerHTML')
String? get outerHtml native;
ownerDocument no setter inherited#
The document this node belongs to.
Returns null if this node does not belong to any document.
Other resources
- Node.ownerDocument from MDN.
Inherited from Node.
Implementation
Document? get ownerDocument native;
paddingEdge no setter#
Access the dimensions and position of this element's content + padding box.
This returns a rectangle with the dimensions actually available for content in this element, in pixels, regardless of this element's box-sizing property. Unlike getBoundingClientRect, the dimensions of this rectangle will return the same numerical height if the element is hidden or not. This can be used to retrieve jQuery's innerHeight value for an element. This is also a rectangle equalling the dimensions of clientHeight and clientWidth.
Important note: use of this method will perform CSS calculations that can trigger a browser reflow. Therefore, use of this property during an animation frame is discouraged. See also: Browser Reflow
Implementation
CssRect get paddingEdge => new _PaddingCssRect(this);
parent no setter inherited#
The parent element of this node.
Returns null if this node either does not have a parent or its parent is not an element.
Other resources
- Node.parentElement from W3C.
Inherited from Node.
Implementation
@JSName('parentElement')
/**
* The parent element of this node.
*
* Returns null if this node either does not have a parent or its parent is
* not an element.
*
* ## Other resources
*
* * [Node.parentElement](https://developer.mozilla.org/en-US/docs/Web/API/Node.parentElement)
* from W3C.
*/
Element? get parent native;
parentNode no setter inherited#
The parent node of this node.
Other resources
- Node.parentNode from MDN.
Inherited from Node.
Implementation
Node? get parentNode native;
previousElementSibling no setter override#
Implementation
Element? get previousElementSibling native;
previousNode no setter inherited#
The previous sibling node.
Other resources
- Node.previousSibling from MDN.
Inherited from Node.
Implementation
@JSName('previousSibling')
/**
* The previous sibling node.
*
* ## Other resources
*
* * [Node.previousSibling](https://developer.mozilla.org/en-US/docs/Web/API/Node.previousSibling)
* from MDN.
*/
Node? get previousNode native;
runtimeType no setter inherited#
Inherited from Interceptor.
Implementation
Type get runtimeType =>
getRuntimeTypeOfInterceptorNotArray(getInterceptor(this), this);
scrollHeight no setter#
Implementation
int get scrollHeight => JS<num>('num', '#.scrollHeight', this).round();
scrollLeft read / write#
Implementation
int get scrollLeft => JS<num>('num', '#.scrollLeft', this).round();
set scrollLeft(int value) {
JS("void", "#.scrollLeft = #", this, value.round());
}
scrollTop read / write#
Implementation
int get scrollTop => JS<num>('num', '#.scrollTop', this).round();
set scrollTop(int value) {
JS("void", "#.scrollTop = #", this, value.round());
}
scrollWidth no setter#
Implementation
int get scrollWidth => JS<num>('num', '#.scrollWidth', this).round();
shadowRoot no setter#
The shadow root of this shadow host.
Other resources
- Shadow DOM 101 from HTML5Rocks.
- Shadow DOM specification from W3C.
Implementation
@SupportedBrowser(SupportedBrowser.CHROME, '25')
ShadowRoot? get shadowRoot =>
JS('ShadowRoot|Null', '#.shadowRoot || #.webkitShadowRoot', this, this);
slot read / write#
Implementation
String? get slot native;
set slot(String? value) native;
spellcheck read / write#
Implementation
bool? get spellcheck native;
set spellcheck(bool? value) native;
style no setter#
Implementation
CssStyleDeclaration get style native;
styleMap no setter#
Implementation
StylePropertyMap? get styleMap native;
tabIndex read / write#
Implementation
int? get tabIndex native;
set tabIndex(int? value) native;
tagName no setter#
Implementation
String get tagName native;
text read / write inherited#
All text within this node and its descendants.
Other resources
- Node.textContent from MDN.
Inherited from Node.
Implementation
@JSName('textContent')
/**
* All text within this node and its descendants.
*
* ## Other resources
*
* * [Node.textContent](https://developer.mozilla.org/en-US/docs/Web/API/Node.textContent)
* from MDN.
*/
String? get text native;
@JSName('textContent')
set text(String? value) native;
title read / write#
Implementation
String? get title native;
set title(String? value) native;
translate read / write#
Specifies whether this element's text content changes when the page is localized.
Other resources
- The translate attribute from WHATWG.
Implementation
bool? get translate native;
set translate(bool? value) native;
Methods#
addEventListener() inherited#
Inherited from EventTarget.
Implementation
void addEventListener(
String type,
EventListener? listener, [
bool? useCapture,
]) {
// TODO(leafp): This check is avoid a bug in our dispatch code when
// listener is null. The browser treats this call as a no-op in this
// case, so it's fine to short-circuit it, but we should not have to.
if (listener != null) {
_addEventListener(type, listener, useCapture);
}
}
after() override#
Implementation
void after(Object nodes) native;
animate()#
Creates a new AnimationEffect object whose target element is the object on which the method is called, and calls the play() method of the AnimationTimeline object of the document timeline of the node document of the element, passing the newly created AnimationEffect as the argument to the method. Returns an Animation for the effect.
Examples
var animation = elem.animate([{"opacity": 75}, {"opacity": 0}], 200);
var animation = elem.animate([
{"transform": "translate(100px, -100%)"},
{"transform" : "translate(400px, 500px)"}
], 1500);
The frames parameter is an Iterable<Map>, where the
map entries specify CSS animation effects. The
timing parameter can be a double, representing the number of
milliseconds for the transition, or a Map with fields corresponding to
those of the timing object.
Implementation
@SupportedBrowser(SupportedBrowser.CHROME, '36')
Animation animate(Iterable<Map<String, dynamic>> frames, [timing]) {
if (frames is! Iterable || !(frames.every((x) => x is Map))) {
throw new ArgumentError(
"The frames parameter should be a List of Maps "
"with frame information",
);
}
var convertedFrames;
if (frames is Iterable) {
convertedFrames = frames.map(convertDartToNative_Dictionary).toList();
} else {
convertedFrames = frames;
}
var convertedTiming = timing is Map
? convertDartToNative_Dictionary(timing)
: timing;
return convertedTiming == null
? _animate(convertedFrames)
: _animate(convertedFrames, convertedTiming);
}
append() inherited#
Adds a node to the end of the child nodes list of this node.
If the node already exists in this document, it will be removed from its current parent node, then added to this node.
This method is more efficient than nodes.add, and is the preferred
way of appending a child node.
Inherited from Node.
Implementation
@JSName('appendChild')
/**
* Adds a node to the end of the child [nodes] list of this node.
*
* If the node already exists in this document, it will be removed from its
* current parent node, then added to this node.
*
* This method is more efficient than `nodes.add`, and is the preferred
* way of appending a child node.
*/
Node append(Node node) native;
appendHtml()#
Parses the specified text as HTML and adds the resulting node after the last child of this element.
Implementation
void appendHtml(
String text, {
NodeValidator? validator,
NodeTreeSanitizer? treeSanitizer,
}) {
this.insertAdjacentHtml(
'beforeend',
text,
validator: validator,
treeSanitizer: treeSanitizer,
);
}
appendText()#
Adds the specified text after the last child of this element.
Implementation
void appendText(String text) {
this.append(new Text(text));
}
attached()#
Called by the DOM when this element has been inserted into the live document.
Warning: This API is part of multiple custom element APIs that are no longer supported.
Implementation
void attached() {
// For the deprecation period, call the old callback.
enteredView();
}
attachShadow()#
Implementation
ShadowRoot attachShadow(Map shadowRootInitDict) {
var shadowRootInitDict_1 = convertDartToNative_Dictionary(
shadowRootInitDict,
);
return _attachShadow_1(shadowRootInitDict_1);
}
attributeChanged()#
Called by the DOM whenever an attribute on this has been changed.
Implementation
void attributeChanged(String name, String oldValue, String newValue) {}
before() override#
Implementation
void before(Object nodes) native;
blur()#
Implementation
void blur() native;
click()#
Implementation
void click() native;
clone() inherited#
Returns a copy of this node.
If deep is true, then all of this node's children and descendants are
copied as well. If deep is false, then only this node is copied.
Other resources
- Node.cloneNode from MDN.
Inherited from Node.
Implementation
@JSName('cloneNode')
/**
* Returns a copy of this node.
*
* If [deep] is `true`, then all of this node's children and descendants are
* copied as well. If [deep] is `false`, then only this node is copied.
*
* ## Other resources
*
* * [Node.cloneNode](https://developer.mozilla.org/en-US/docs/Web/API/Node.cloneNode)
* from MDN.
*/
Node clone(bool? deep) native;
closest()#
Implementation
Element? closest(String selectors) native;
contains() inherited#
Returns true if this node contains the specified node.
Other resources
- Node.contains from MDN.
Inherited from Node.
Implementation
bool contains(Node? other) native;
createFragment()#
Create a DocumentFragment from the HTML fragment and ensure that it follows the sanitization rules specified by the validator or treeSanitizer.
If the default validation behavior is too restrictive then a new NodeValidator should be created, either extending or wrapping a default validator and overriding the validation APIs.
The treeSanitizer is used to walk the generated node tree and sanitize it. A custom treeSanitizer can also be provided to perform special validation rules but since the API is more complex to implement this is discouraged.
The returned tree is guaranteed to only contain nodes and attributes which are allowed by the provided validator.
See also:
Implementation
DocumentFragment createFragment(
String? html, {
NodeValidator? validator,
NodeTreeSanitizer? treeSanitizer,
}) {
if (treeSanitizer == null) {
if (validator == null) {
if (_defaultValidator == null) {
_defaultValidator = new NodeValidatorBuilder.common();
}
validator = _defaultValidator;
}
if (_defaultSanitizer == null) {
_defaultSanitizer = new _ValidatingTreeSanitizer(validator!);
} else {
_defaultSanitizer!.validator = validator!;
}
treeSanitizer = _defaultSanitizer;
} else if (validator != null) {
throw new ArgumentError(
'validator can only be passed if treeSanitizer is null',
);
}
if (_parseDocument == null) {
_parseDocument = document.implementation!.createHtmlDocument('');
_parseRange = _parseDocument!.createRange();
// Workaround for Safari bug. Was also previously Chrome bug 229142
// - URIs are not resolved in new doc.
BaseElement base = _parseDocument!.createElement('base') as BaseElement;
base.href = document.baseUri!;
_parseDocument!.head!.append(base);
}
// TODO(terry): Fixes Chromium 50 change no body after createHtmlDocument()
if (_parseDocument!.body == null) {
_parseDocument!.body =
_parseDocument!.createElement("body") as BodyElement;
}
Element contextElement;
if (this is BodyElement) {
contextElement = _parseDocument!.body!;
} else {
contextElement = _parseDocument!.createElement(tagName);
_parseDocument!.body!.append(contextElement);
}
DocumentFragment fragment;
if (Range.supportsCreateContextualFragment &&
_canBeUsedToCreateContextualFragment) {
_parseRange!.selectNodeContents(contextElement);
// createContextualFragment expects a non-nullable html string.
// If null is passed, it gets converted to 'null' instead.
fragment = _parseRange!.createContextualFragment(html ?? 'null');
} else {
contextElement._innerHtml = html;
fragment = _parseDocument!.createDocumentFragment();
while (contextElement.firstChild != null) {
fragment.append(contextElement.firstChild!);
}
}
if (contextElement != _parseDocument!.body) {
contextElement.remove();
}
treeSanitizer!.sanitizeTree(fragment);
// Copy the fragment over to the main document (fix for 14184)
document.adoptNode(fragment);
return fragment;
}
createShadowRoot()#
Creates a new shadow root for this shadow host.
Other resources
- Shadow DOM 101 from HTML5Rocks.
- Shadow DOM specification from W3C.
Implementation
@SupportedBrowser(SupportedBrowser.CHROME, '25')
ShadowRoot createShadowRoot() {
return JS(
'ShadowRoot',
'(#.createShadowRoot || #.webkitCreateShadowRoot).call(#)',
this,
this,
this,
);
}
detached()#
Called by the DOM when this element has been removed from the live document.
Warning: This API is part of multiple custom element APIs that are no longer supported. draft specification.
Implementation
void detached() {
// For the deprecation period, call the old callback.
leftView();
}
dispatchEvent() inherited#
Inherited from EventTarget.
Implementation
bool dispatchEvent(Event event) native;
deprecated enteredView()#
DEPRECATED
next release
Deprecated*: override attached instead.
Implementation
@deprecated
void enteredView() {}
focus()#
Implementation
void focus() native;
getAnimations()#
Implementation
List<Animation> getAnimations() native;
getAttribute()#
Implementation
@pragma('dart2js:tryInline')
String? getAttribute(String name) {
// TODO(41258): Delete this assertion after forcing strong mode.
// Protect [name] against string conversion to "null" or "undefined".
assert(name != null, 'Attribute name cannot be null');
return _getAttribute(name);
}
getAttributeNames()#
Implementation
List<String> getAttributeNames() native;
getAttributeNS()#
Implementation
@pragma('dart2js:tryInline')
String? getAttributeNS(String? namespaceURI, String name) {
// TODO(41258): Delete this assertion after forcing strong mode.
// Protect [name] against string conversion to "null" or "undefined".
// [namespaceURI] does not need protecting, both `null` and `undefined` map to `null`.
assert(name != null, 'Attribute name cannot be null');
return _getAttributeNS(namespaceURI, name);
}
getBoundingClientRect()#
Returns the smallest bounding rectangle that encompasses this element's padding, scrollbar, and border.
Other resources
- Element.getBoundingClientRect from MDN.
- The getBoundingClientRect() method from W3C.
Implementation
@Creates('_DomRect')
@Returns('_DomRect|Null')
Rectangle getBoundingClientRect() native;
getClientRects()#
Implementation
List<Rectangle> getClientRects() {
var value = _getClientRects();
// If no prototype we need one for the world to hookup to the proper Dart class.
var jsProto = JS('', '#.prototype', value);
if (jsProto == null) {
JS('', '#.prototype = Object.create(null)', value);
}
applyExtension('DOMRectList', value);
return value;
}
getComputedStyle()#
The set of all CSS values applied to this element, including inherited and default values.
The computedStyle contains values that are inherited from other sources, such as parent elements or stylesheets. This differs from the style property, which contains only the values specified directly on this element.
PseudoElement can be values such as ::after, ::before, ::marker,
::line-marker.
See also:
- Cascade and Inheritance from MDN.
- Pseudo-elements from MDN.
Implementation
CssStyleDeclaration getComputedStyle([String? pseudoElement]) {
if (pseudoElement == null) {
pseudoElement = '';
}
// TODO(jacobr): last param should be null, see b/5045788
return window._getComputedStyle(this, pseudoElement);
}
getDestinationInsertionPoints()#
Returns a list of shadow DOM insertion points to which this element is distributed.
Other resources
- Shadow DOM specification from W3C.
Implementation
@Returns('NodeList')
@Creates('NodeList')
List<Node> getDestinationInsertionPoints() native;
getElementsByClassName()#
Returns a list of nodes with the given class name inside this element.
Other resources
- getElementsByClassName from MDN.
- DOM specification from W3C.
Implementation
@Creates('NodeList|HtmlCollection')
@Returns('NodeList|HtmlCollection')
List<Node> getElementsByClassName(String classNames) native;
getNamespacedAttributes()#
Gets a map for manipulating the attributes of a particular namespace.
This is primarily useful for SVG attributes such as xref:link.
Implementation
Map<String, String> getNamespacedAttributes(String namespace) {
return new _NamespacedAttributeMap(this, namespace);
}
getRootNode() inherited#
Inherited from Node.
Implementation
Node getRootNode([Map? options]) {
if (options != null) {
var options_1 = convertDartToNative_Dictionary(options);
return _getRootNode_1(options_1);
}
return _getRootNode_2();
}
hasAttribute()#
Implementation
@pragma('dart2js:tryInline')
bool hasAttribute(String name) {
// TODO(41258): Delete this assertion after forcing strong mode.
// Protect [name] against string conversion to "null" or "undefined".
assert(name != null, 'Attribute name cannot be null');
return _hasAttribute(name);
}
hasAttributeNS()#
Implementation
@pragma('dart2js:tryInline')
bool hasAttributeNS(String? namespaceURI, String name) {
// TODO(41258): Delete this assertion after forcing strong mode.
// Protect [name] against string conversion to "null" or "undefined".
// [namespaceURI] does not need protecting, both `null` and `undefined` map to `null`.
assert(name != null, 'Attribute name cannot be null');
return _hasAttributeNS(namespaceURI, name);
}
hasChildNodes() inherited#
Returns true if this node has any children.
Other resources
- Node.hasChildNodes from MDN.
Inherited from Node.
Implementation
bool hasChildNodes() native;
hasPointerCapture()#
Implementation
bool hasPointerCapture(int pointerId) native;
insertAdjacentElement()#
Inserts element into the DOM at the specified location.
To see the possible values for where, read the doc for
insertAdjacentHtml.
See also:
Implementation
Element insertAdjacentElement(String where, Element element) {
if (JS('bool', '!!#.insertAdjacentElement', this)) {
_insertAdjacentElement(where, element);
} else {
_insertAdjacentNode(where, element);
}
return element;
}
insertAdjacentHtml()#
Parses text as an HTML fragment and inserts it into the DOM at the specified location.
The where parameter indicates where to insert the HTML fragment:
- 'beforeBegin': Immediately before this element.
- 'afterBegin': As the first child of this element.
- 'beforeEnd': As the last child of this element.
- 'afterEnd': Immediately after this element.
var html = '<div class="something">content</div>';
// Inserts as the first child
document.body.insertAdjacentHtml('afterBegin', html);
var createdElement = document.body.children[0];
print(createdElement.classes[0]); // Prints 'something'
See also:
Implementation
void insertAdjacentHtml(
String where,
String html, {
NodeValidator? validator,
NodeTreeSanitizer? treeSanitizer,
}) {
if (treeSanitizer is _TrustedHtmlTreeSanitizer) {
_insertAdjacentHtml(where, html);
} else {
_insertAdjacentNode(
where,
createFragment(
html,
validator: validator,
treeSanitizer: treeSanitizer,
),
);
}
}
insertAdjacentText()#
Inserts text into the DOM at the specified location.
To see the possible values for where, read the doc for
insertAdjacentHtml.
See also:
Implementation
void insertAdjacentText(String where, String text) {
if (JS('bool', '!!#.insertAdjacentText', this)) {
_insertAdjacentText(where, text);
} else {
_insertAdjacentNode(where, new Text(text));
}
}
insertAllBefore() inherited#
Inserts all of the nodes into this node directly before child.
See also:
Inherited from Node.
Implementation
void insertAllBefore(Iterable<Node> newNodes, Node child) {
if (newNodes is _ChildNodeListLazy) {
_ChildNodeListLazy otherList = newNodes;
if (identical(otherList._this, this)) {
throw new ArgumentError(newNodes);
}
// Optimized route for copying between nodes.
for (var i = 0, len = otherList.length; i < len; ++i) {
this.insertBefore(otherList._this.firstChild!, child);
}
} else {
for (var node in newNodes) {
this.insertBefore(node, child);
}
}
}
insertBefore() inherited#
Inserts the given node into this node directly before child.
If child is null, then the given node is inserted at the end
of this node's child nodes.
Other resources
- Node.insertBefore from MDN.
Inherited from Node.
Implementation
Node insertBefore(Node node, Node? child) native;
deprecated leftView()#
DEPRECATED
next release
Deprecated*: override detached instead.
Implementation
@deprecated
void leftView() {}
matches()#
Checks if this element matches the CSS selectors.
Implementation
bool matches(String selectors) {
if (JS('bool', '!!#.matches', this)) {
return JS('bool', '#.matches(#)', this, selectors);
} else if (JS('bool', '!!#.webkitMatchesSelector', this)) {
return JS('bool', '#.webkitMatchesSelector(#)', this, selectors);
} else if (JS('bool', '!!#.mozMatchesSelector', this)) {
return JS('bool', '#.mozMatchesSelector(#)', this, selectors);
} else if (JS('bool', '!!#.msMatchesSelector', this)) {
return JS('bool', '#.msMatchesSelector(#)', this, selectors);
} else if (JS('bool', '!!#.oMatchesSelector', this)) {
return JS('bool', '#.oMatchesSelector(#)', this, selectors);
} else {
throw new UnsupportedError("Not supported on this platform");
}
}
matchesWithAncestors()#
Checks if this element or any of its parents match the CSS selectors.
Implementation
bool matchesWithAncestors(String selectors) {
var elem = this as Element?;
do {
if (elem!.matches(selectors)) return true;
elem = elem.parent;
} while (elem != null);
return false;
}
noSuchMethod() inherited#
Invoked when a nonexistent method or property is accessed.
A dynamic member invocation can attempt to call a member which doesn't exist on the receiving object. Example:
dynamic object = 1;
object.add(42); // Statically allowed, run-time error
This invalid code will invoke the noSuchMethod method
of the integer 1 with an Invocation
representing the
.add(42) call and arguments (which then throws).
Classes can override noSuchMethod to provide custom behavior for such invalid dynamic invocations.
A class with a non-default noSuchMethod invocation can also omit implementations for members of its interface. Example:
class MockList<T> implements List<T> {
noSuchMethod(Invocation invocation) {
log(invocation);
super.noSuchMethod(invocation); // Will throw.
}
}
void main() {
MockList().add(42);
}
This code has no compile-time warnings or errors even though
the MockList class has no concrete implementation of
any of the List interface methods.
Calls to List methods are forwarded to noSuchMethod,
so this code will log an invocation similar to
Invocation.method(#add, [42])
and then throw.
If a value is returned from noSuchMethod,
it becomes the result of the original invocation.
If the value is not of a type that can be returned by the original
invocation, a type error occurs at the invocation.
The default behavior is to throw a NoSuchMethodError.
Inherited from Interceptor.
Implementation
dynamic noSuchMethod(Invocation invocation) {
throw NoSuchMethodError.withInvocation(this, invocation);
}
offsetTo()#
Provides the offset of this element's borderEdge
relative to the
specified parent.
This is the Dart equivalent of jQuery's
position method. Unlike jQuery's
position, however, parent can be any parent element of this,
rather than only this's immediate offsetParent. If the specified
element is not an offset parent or transitive offset parent to this
element, an ArgumentError
is thrown.
Implementation
Point offsetTo(Element parent) {
return Element._offsetToHelper(this, parent);
}
querySelector() override#
Finds the first descendant element of this element that matches the specified group of selectors.
selectors should be a string using CSS selector syntax.
// Gets the first descendant with the class 'classname'
var element = element.querySelector('.className');
// Gets the element with id 'id'
var element = element.querySelector('#id');
// Gets the first descendant [ImageElement]
var img = element.querySelector('img');
For details about CSS selector syntax, see the CSS selector specification.
Implementation
Element? querySelector(String selectors) native;
querySelectorAll()#
Finds all descendent elements of this element that match the specified group of selectors.
selectors should be a string using CSS selector syntax.
var items = element.querySelectorAll('.itemClassName');
For details about CSS selector syntax, see the CSS selector specification.
Implementation
ElementList<T> querySelectorAll<T extends Element>(String selectors) =>
new _FrozenElementList<T>._wrap(_querySelectorAll(selectors));
releasePointerCapture()#
Implementation
void releasePointerCapture(int pointerId) native;
remove() inherited#
Removes this node from the DOM.
Inherited from Node.
Implementation
void remove() {
// TODO(jacobr): should we throw an exception if parent is already null?
// TODO(vsm): Use the native remove when available.
if (this.parentNode != null) {
final Node parent = this.parentNode!;
parent._removeChild(this);
}
}
removeAttribute()#
Implementation
@pragma('dart2js:tryInline')
void removeAttribute(String name) {
// TODO(41258): Delete this assertion after forcing strong mode.
// Protect [name] against string conversion to "null" or "undefined".
assert(name != null, 'Attribute name cannot be null');
_removeAttribute(name);
}
removeAttributeNS()#
Implementation
@pragma('dart2js:tryInline')
void removeAttributeNS(String? namespaceURI, String name) {
// TODO(41258): Delete this assertion after forcing strong mode.
// Protect [name] against string conversion to "null" or "undefined".
assert(name != null, 'Attribute name cannot be null');
_removeAttributeNS(namespaceURI, name);
}
removeEventListener() inherited#
Inherited from EventTarget.
Implementation
void removeEventListener(
String type,
EventListener? listener, [
bool? useCapture,
]) {
// TODO(leafp): This check is avoid a bug in our dispatch code when
// listener is null. The browser treats this call as a no-op in this
// case, so it's fine to short-circuit it, but we should not have to.
if (listener != null) {
_removeEventListener(type, listener, useCapture);
}
}
replaceWith() inherited#
Replaces this node with another node.
Inherited from Node.
Implementation
Node replaceWith(Node otherNode) {
try {
final Node parent = this.parentNode!;
parent._replaceChild(otherNode, this);
} catch (e) {}
return this;
}
requestFullscreen()#
Displays this element fullscreen.
Other resources
- Fullscreen API from MDN.
- Fullscreen specification from W3C.
Implementation
@SupportedBrowser(SupportedBrowser.CHROME)
@SupportedBrowser(SupportedBrowser.FIREFOX)
@SupportedBrowser(SupportedBrowser.SAFARI)
Future<void> requestFullscreen([Map? options]) {
var retValue;
if (options != null) {
retValue = JS(
'',
'(#.requestFullscreen||#.webkitRequestFullscreen).call(#, #)',
this,
this,
this,
convertDartToNative_Dictionary(options),
);
} else {
retValue = JS(
'',
'(#.requestFullscreen||#.webkitRequestFullscreen).call(#)',
this,
this,
this,
);
}
if (retValue != null) return promiseToFuture(retValue);
return Future<void>.value();
}
requestPointerLock()#
Implementation
void requestPointerLock() native;
scroll()#
Implementation
void scroll([options_OR_x, num? y]) {
if (options_OR_x == null && y == null) {
_scroll_1();
return;
}
if ((options_OR_x is Map) && y == null) {
var options_1 = convertDartToNative_Dictionary(options_OR_x);
_scroll_2(options_1);
return;
}
if (y != null && (options_OR_x is num)) {
_scroll_3(options_OR_x, y);
return;
}
throw new ArgumentError("Incorrect number or type of arguments");
}
scrollBy()#
Implementation
void scrollBy([options_OR_x, num? y]) {
if (options_OR_x == null && y == null) {
_scrollBy_1();
return;
}
if ((options_OR_x is Map) && y == null) {
var options_1 = convertDartToNative_Dictionary(options_OR_x);
_scrollBy_2(options_1);
return;
}
if (y != null && (options_OR_x is num)) {
_scrollBy_3(options_OR_x, y);
return;
}
throw new ArgumentError("Incorrect number or type of arguments");
}
scrollIntoView()#
Scrolls this element into view.
Only one of the alignment options may be specified at a time.
If no options are specified then this will attempt to scroll the minimum amount needed to bring the element into view.
Note that alignCenter is currently only supported on WebKit platforms. If alignCenter is specified but not supported then this will fall back to alignTop.
See also:
- scrollIntoView from MDN.
- scrollIntoViewIfNeeded from MDN.
Implementation
void scrollIntoView([ScrollAlignment? alignment]) {
var hasScrollIntoViewIfNeeded = true;
hasScrollIntoViewIfNeeded = JS(
'bool',
'!!(#.scrollIntoViewIfNeeded)',
this,
);
if (alignment == ScrollAlignment.TOP) {
this._scrollIntoView(true);
} else if (alignment == ScrollAlignment.BOTTOM) {
this._scrollIntoView(false);
} else if (hasScrollIntoViewIfNeeded) {
// TODO(srujzs): This method shouldn't be calling out to
// `scrollIntoViewIfNeeded`. Remove this and make `scrollIntoView` match
// the browser definition. If you intend to use `scrollIntoViewIfNeeded`,
// use the `Element.scrollIntoViewIfNeeded` method.
if (alignment == ScrollAlignment.CENTER) {
this.scrollIntoViewIfNeeded(true);
} else {
this.scrollIntoViewIfNeeded();
}
} else {
this._scrollIntoView();
}
}
scrollIntoViewIfNeeded()#
Nonstandard version of scrollIntoView that scrolls the current element
into the visible area of the browser window if it's not already within the
visible area of the browser window. If the element is already within the
visible area of the browser window, then no scrolling takes place.
Other resources
- Element.scrollIntoViewIfNeeded from MDN.
Implementation
void scrollIntoViewIfNeeded([bool? centerIfNeeded]) native;
scrollTo()#
Implementation
void scrollTo([options_OR_x, num? y]) {
if (options_OR_x == null && y == null) {
_scrollTo_1();
return;
}
if ((options_OR_x is Map) && y == null) {
var options_1 = convertDartToNative_Dictionary(options_OR_x);
_scrollTo_2(options_1);
return;
}
if (y != null && (options_OR_x is num)) {
_scrollTo_3(options_OR_x, y);
return;
}
throw new ArgumentError("Incorrect number or type of arguments");
}
setApplyScroll()#
Implementation
Future<ScrollState> setApplyScroll(String nativeScrollBehavior) {
var completer = new Completer<ScrollState>();
_setApplyScroll((value) {
completer.complete(value);
}, nativeScrollBehavior);
return completer.future;
}
setAttribute()#
Implementation
@pragma('dart2js:tryInline')
void setAttribute(String name, Object value) {
// TODO(41258): Delete these assertions after forcing strong mode.
// Protect [name] against string conversion to "null" or "undefined".
assert(name != null, 'Attribute name cannot be null');
// TODO(sra): assert(value != null, 'Attribute value cannot be null.');
_setAttribute(name, value);
}
setAttributeNS()#
Implementation
@pragma('dart2js:tryInline')
void setAttributeNS(String? namespaceURI, String name, Object value) {
// TODO(41258): Delete these assertions after forcing strong mode.
// Protect [name] against string conversion to "null" or "undefined".
assert(name != null, 'Attribute name cannot be null');
// TODO(sra): assert(value != null, 'Attribute value cannot be null.');
_setAttributeNS(namespaceURI, name, value);
}
setDistributeScroll()#
Implementation
Future<ScrollState> setDistributeScroll(String nativeScrollBehavior) {
var completer = new Completer<ScrollState>();
_setDistributeScroll((value) {
completer.complete(value);
}, nativeScrollBehavior);
return completer.future;
}
setInnerHtml()#
Parses the HTML fragment and sets it as the contents of this element. This ensures that the generated content follows the sanitization rules specified by the validator or treeSanitizer.
If the default validation behavior is too restrictive then a new NodeValidator should be created, either extending or wrapping a default validator and overriding the validation APIs.
The treeSanitizer is used to walk the generated node tree and sanitize it. A custom treeSanitizer can also be provided to perform special validation rules but since the API is more complex to implement this is discouraged.
The resulting tree is guaranteed to only contain nodes and attributes which are allowed by the provided validator.
See also:
Implementation
void setInnerHtml(
String? html, {
NodeValidator? validator,
NodeTreeSanitizer? treeSanitizer,
}) {
text = null;
if (treeSanitizer is _TrustedHtmlTreeSanitizer) {
_innerHtml = html;
} else {
append(
createFragment(
html,
validator: validator,
treeSanitizer: treeSanitizer,
),
);
}
}
setPointerCapture()#
Implementation
void setPointerCapture(int pointerId) native;
toString() override#
The string representation of this element.
This is equivalent to reading the localName property.
Implementation
String toString() => localName;
Operators#
operator ==() inherited#
The equality operator.
The default behavior for all Objects is to return true if and
only if this object and other are the same object.
Override this method to specify a different equality relation on a class. The overriding method must still be an equivalence relation. That is, it must be:
Total: It must return a boolean for all arguments. It should never throw.
Reflexive: For all objects
o,o == omust be true.-
Symmetric: For all objects
o1ando2,o1 == o2ando2 == o1must either both be true, or both be false. -
Transitive: For all objects
o1,o2, ando3, ifo1 == o2ando2 == o3are true, theno1 == o3must be true.
The method should also be consistent over time, so whether two objects are equal should only change if at least one of the objects was modified.
If a subclass overrides the equality operator, it should override the hashCode method as well to maintain consistency.
Inherited from Interceptor.
Implementation
bool operator ==(Object other) => identical(this, other);
Static Methods#
isTagSupported()#
Checks to see if the tag name is supported by the current platform.
The tag should be a valid HTML tag name.
Implementation
static bool isTagSupported(String tag) {
var e = _ElementFactoryProvider.createElement_tag(tag, null);
return e is Element && !(e is UnknownElement);
}
Constants#
abortEvent#
Static factory designed to expose abort events to event
handlers that are not necessarily instances of Element.
See EventStreamProvider for usage information.
Implementation
static const EventStreamProvider<Event> abortEvent =
const EventStreamProvider<Event>('abort');
beforeCopyEvent#
Static factory designed to expose beforecopy events to event
handlers that are not necessarily instances of Element.
See EventStreamProvider for usage information.
Implementation
static const EventStreamProvider<Event> beforeCopyEvent =
const EventStreamProvider<Event>('beforecopy');
beforeCutEvent#
Static factory designed to expose beforecut events to event
handlers that are not necessarily instances of Element.
See EventStreamProvider for usage information.
Implementation
static const EventStreamProvider<Event> beforeCutEvent =
const EventStreamProvider<Event>('beforecut');
beforePasteEvent#
Static factory designed to expose beforepaste events to event
handlers that are not necessarily instances of Element.
See EventStreamProvider for usage information.
Implementation
static const EventStreamProvider<Event> beforePasteEvent =
const EventStreamProvider<Event>('beforepaste');
blurEvent#
Static factory designed to expose blur events to event
handlers that are not necessarily instances of Element.
See EventStreamProvider for usage information.
Implementation
static const EventStreamProvider<Event> blurEvent =
const EventStreamProvider<Event>('blur');
canPlayEvent#
Implementation
static const EventStreamProvider<Event> canPlayEvent =
const EventStreamProvider<Event>('canplay');
canPlayThroughEvent#
Implementation
static const EventStreamProvider<Event> canPlayThroughEvent =
const EventStreamProvider<Event>('canplaythrough');
changeEvent#
Static factory designed to expose change events to event
handlers that are not necessarily instances of Element.
See EventStreamProvider for usage information.
Implementation
static const EventStreamProvider<Event> changeEvent =
const EventStreamProvider<Event>('change');
clickEvent#
Static factory designed to expose click events to event
handlers that are not necessarily instances of Element.
See EventStreamProvider for usage information.
Implementation
static const EventStreamProvider<MouseEvent> clickEvent =
const EventStreamProvider<MouseEvent>('click');
contextMenuEvent#
Static factory designed to expose contextmenu events to event
handlers that are not necessarily instances of Element.
See EventStreamProvider for usage information.
Implementation
static const EventStreamProvider<MouseEvent> contextMenuEvent =
const EventStreamProvider<MouseEvent>('contextmenu');
copyEvent#
Static factory designed to expose copy events to event
handlers that are not necessarily instances of Element.
See EventStreamProvider for usage information.
Implementation
static const EventStreamProvider<ClipboardEvent> copyEvent =
const EventStreamProvider<ClipboardEvent>('copy');
cutEvent#
Static factory designed to expose cut events to event
handlers that are not necessarily instances of Element.
See EventStreamProvider for usage information.
Implementation
static const EventStreamProvider<ClipboardEvent> cutEvent =
const EventStreamProvider<ClipboardEvent>('cut');
doubleClickEvent#
Static factory designed to expose doubleclick events to event
handlers that are not necessarily instances of Element.
See EventStreamProvider for usage information.
Implementation
@DomName('Element.dblclickEvent')
static const EventStreamProvider<Event> doubleClickEvent =
const EventStreamProvider<Event>('dblclick');
dragEndEvent#
A stream of dragend events fired when an element completes a drag
operation.
Other resources
- Drag and drop sample based on the tutorial from HTML5Rocks.
- Drag and drop specification from WHATWG.
Implementation
static const EventStreamProvider<MouseEvent> dragEndEvent =
const EventStreamProvider<MouseEvent>('dragend');
dragEnterEvent#
A stream of dragenter events fired when a dragged object is first dragged
over an element.
Other resources
- Drag and drop sample based on the tutorial from HTML5Rocks.
- Drag and drop specification from WHATWG.
Implementation
static const EventStreamProvider<MouseEvent> dragEnterEvent =
const EventStreamProvider<MouseEvent>('dragenter');
dragEvent#
A stream of drag events fired when an element is currently being dragged.
A drag event is added to this stream as soon as the drag begins.
A drag event is also added to this stream at intervals while the drag
operation is still ongoing.
Other resources
- Drag and drop sample based on the tutorial from HTML5Rocks.
- Drag and drop specification from WHATWG.
Implementation
static const EventStreamProvider<MouseEvent> dragEvent =
const EventStreamProvider<MouseEvent>('drag');
dragLeaveEvent#
A stream of dragleave events fired when an object being dragged over an
element leaves the element's target area.
Other resources
- Drag and drop sample based on the tutorial from HTML5Rocks.
- Drag and drop specification from WHATWG.
Implementation
static const EventStreamProvider<MouseEvent> dragLeaveEvent =
const EventStreamProvider<MouseEvent>('dragleave');
dragOverEvent#
A stream of dragover events fired when a dragged object is currently
being dragged over an element.
Other resources
- Drag and drop sample based on the tutorial from HTML5Rocks.
- Drag and drop specification from WHATWG.
Implementation
static const EventStreamProvider<MouseEvent> dragOverEvent =
const EventStreamProvider<MouseEvent>('dragover');
dragStartEvent#
A stream of dragstart events for a dragged element whose drag has begun.
Other resources
- Drag and drop sample based on the tutorial from HTML5Rocks.
- Drag and drop specification from WHATWG.
Implementation
static const EventStreamProvider<MouseEvent> dragStartEvent =
const EventStreamProvider<MouseEvent>('dragstart');
dropEvent#
A stream of drop events fired when a dragged object is dropped on an
element.
Other resources
- Drag and drop sample based on the tutorial from HTML5Rocks.
- Drag and drop specification from WHATWG.
Implementation
static const EventStreamProvider<MouseEvent> dropEvent =
const EventStreamProvider<MouseEvent>('drop');
durationChangeEvent#
Implementation
static const EventStreamProvider<Event> durationChangeEvent =
const EventStreamProvider<Event>('durationchange');
emptiedEvent#
Implementation
static const EventStreamProvider<Event> emptiedEvent =
const EventStreamProvider<Event>('emptied');
endedEvent#
Implementation
static const EventStreamProvider<Event> endedEvent =
const EventStreamProvider<Event>('ended');
errorEvent#
Static factory designed to expose error events to event
handlers that are not necessarily instances of Element.
See EventStreamProvider for usage information.
Implementation
static const EventStreamProvider<Event> errorEvent =
const EventStreamProvider<Event>('error');
focusEvent#
Static factory designed to expose focus events to event
handlers that are not necessarily instances of Element.
See EventStreamProvider for usage information.
Implementation
static const EventStreamProvider<Event> focusEvent =
const EventStreamProvider<Event>('focus');
fullscreenChangeEvent#
Static factory designed to expose fullscreenchange events to event
handlers that are not necessarily instances of Element.
See EventStreamProvider for usage information.
Implementation
@SupportedBrowser(SupportedBrowser.CHROME)
@SupportedBrowser(SupportedBrowser.SAFARI)
static const EventStreamProvider<Event> fullscreenChangeEvent =
const EventStreamProvider<Event>('webkitfullscreenchange');
fullscreenErrorEvent#
Static factory designed to expose fullscreenerror events to event
handlers that are not necessarily instances of Element.
See EventStreamProvider for usage information.
Implementation
@SupportedBrowser(SupportedBrowser.CHROME)
@SupportedBrowser(SupportedBrowser.SAFARI)
static const EventStreamProvider<Event> fullscreenErrorEvent =
const EventStreamProvider<Event>('webkitfullscreenerror');
inputEvent#
Static factory designed to expose input events to event
handlers that are not necessarily instances of Element.
See EventStreamProvider for usage information.
Implementation
static const EventStreamProvider<Event> inputEvent =
const EventStreamProvider<Event>('input');
invalidEvent#
Static factory designed to expose invalid events to event
handlers that are not necessarily instances of Element.
See EventStreamProvider for usage information.
Implementation
static const EventStreamProvider<Event> invalidEvent =
const EventStreamProvider<Event>('invalid');
keyDownEvent#
Static factory designed to expose keydown events to event
handlers that are not necessarily instances of Element.
See EventStreamProvider for usage information.
Implementation
static const EventStreamProvider<KeyboardEvent> keyDownEvent =
const EventStreamProvider<KeyboardEvent>('keydown');
keyPressEvent#
Static factory designed to expose keypress events to event
handlers that are not necessarily instances of Element.
See EventStreamProvider for usage information.
Implementation
static const EventStreamProvider<KeyboardEvent> keyPressEvent =
const EventStreamProvider<KeyboardEvent>('keypress');
keyUpEvent#
Static factory designed to expose keyup events to event
handlers that are not necessarily instances of Element.
See EventStreamProvider for usage information.
Implementation
static const EventStreamProvider<KeyboardEvent> keyUpEvent =
const EventStreamProvider<KeyboardEvent>('keyup');
loadedDataEvent#
Implementation
static const EventStreamProvider<Event> loadedDataEvent =
const EventStreamProvider<Event>('loadeddata');
loadedMetadataEvent#
Implementation
static const EventStreamProvider<Event> loadedMetadataEvent =
const EventStreamProvider<Event>('loadedmetadata');
loadEvent#
Static factory designed to expose load events to event
handlers that are not necessarily instances of Element.
See EventStreamProvider for usage information.
Implementation
static const EventStreamProvider<Event> loadEvent =
const EventStreamProvider<Event>('load');
mouseDownEvent#
Static factory designed to expose mousedown events to event
handlers that are not necessarily instances of Element.
See EventStreamProvider for usage information.
Implementation
static const EventStreamProvider<MouseEvent> mouseDownEvent =
const EventStreamProvider<MouseEvent>('mousedown');
mouseEnterEvent#
Static factory designed to expose mouseenter events to event
handlers that are not necessarily instances of Element.
See EventStreamProvider for usage information.
Implementation
static const EventStreamProvider<MouseEvent> mouseEnterEvent =
const EventStreamProvider<MouseEvent>('mouseenter');
mouseLeaveEvent#
Static factory designed to expose mouseleave events to event
handlers that are not necessarily instances of Element.
See EventStreamProvider for usage information.
Implementation
static const EventStreamProvider<MouseEvent> mouseLeaveEvent =
const EventStreamProvider<MouseEvent>('mouseleave');
mouseMoveEvent#
Static factory designed to expose mousemove events to event
handlers that are not necessarily instances of Element.
See EventStreamProvider for usage information.
Implementation
static const EventStreamProvider<MouseEvent> mouseMoveEvent =
const EventStreamProvider<MouseEvent>('mousemove');
mouseOutEvent#
Static factory designed to expose mouseout events to event
handlers that are not necessarily instances of Element.
See EventStreamProvider for usage information.
Implementation
static const EventStreamProvider<MouseEvent> mouseOutEvent =
const EventStreamProvider<MouseEvent>('mouseout');
mouseOverEvent#
Static factory designed to expose mouseover events to event
handlers that are not necessarily instances of Element.
See EventStreamProvider for usage information.
Implementation
static const EventStreamProvider<MouseEvent> mouseOverEvent =
const EventStreamProvider<MouseEvent>('mouseover');
mouseUpEvent#
Static factory designed to expose mouseup events to event
handlers that are not necessarily instances of Element.
See EventStreamProvider for usage information.
Implementation
static const EventStreamProvider<MouseEvent> mouseUpEvent =
const EventStreamProvider<MouseEvent>('mouseup');
mouseWheelEvent#
Static factory designed to expose mousewheel events to event
handlers that are not necessarily instances of Element.
See EventStreamProvider for usage information.
Implementation
static const EventStreamProvider<WheelEvent> mouseWheelEvent =
const _CustomEventStreamProvider<WheelEvent>(
Element._determineMouseWheelEventType,
);
pasteEvent#
Static factory designed to expose paste events to event
handlers that are not necessarily instances of Element.
See EventStreamProvider for usage information.
Implementation
static const EventStreamProvider<ClipboardEvent> pasteEvent =
const EventStreamProvider<ClipboardEvent>('paste');
pauseEvent#
Implementation
static const EventStreamProvider<Event> pauseEvent =
const EventStreamProvider<Event>('pause');
playEvent#
Implementation
static const EventStreamProvider<Event> playEvent =
const EventStreamProvider<Event>('play');
playingEvent#
Implementation
static const EventStreamProvider<Event> playingEvent =
const EventStreamProvider<Event>('playing');
rateChangeEvent#
Implementation
static const EventStreamProvider<Event> rateChangeEvent =
const EventStreamProvider<Event>('ratechange');
resetEvent#
Static factory designed to expose reset events to event
handlers that are not necessarily instances of Element.
See EventStreamProvider for usage information.
Implementation
static const EventStreamProvider<Event> resetEvent =
const EventStreamProvider<Event>('reset');
resizeEvent#
Implementation
static const EventStreamProvider<Event> resizeEvent =
const EventStreamProvider<Event>('resize');
scrollEvent#
Static factory designed to expose scroll events to event
handlers that are not necessarily instances of Element.
See EventStreamProvider for usage information.
Implementation
static const EventStreamProvider<Event> scrollEvent =
const EventStreamProvider<Event>('scroll');
searchEvent#
Static factory designed to expose search events to event
handlers that are not necessarily instances of Element.
See EventStreamProvider for usage information.
Implementation
static const EventStreamProvider<Event> searchEvent =
const EventStreamProvider<Event>('search');
seekedEvent#
Implementation
static const EventStreamProvider<Event> seekedEvent =
const EventStreamProvider<Event>('seeked');
seekingEvent#
Implementation
static const EventStreamProvider<Event> seekingEvent =
const EventStreamProvider<Event>('seeking');
selectEvent#
Static factory designed to expose select events to event
handlers that are not necessarily instances of Element.
See EventStreamProvider for usage information.
Implementation
static const EventStreamProvider<Event> selectEvent =
const EventStreamProvider<Event>('select');
selectStartEvent#
Static factory designed to expose selectstart events to event
handlers that are not necessarily instances of Element.
See EventStreamProvider for usage information.
Implementation
static const EventStreamProvider<Event> selectStartEvent =
const EventStreamProvider<Event>('selectstart');
stalledEvent#
Implementation
static const EventStreamProvider<Event> stalledEvent =
const EventStreamProvider<Event>('stalled');
submitEvent#
Static factory designed to expose submit events to event
handlers that are not necessarily instances of Element.
See EventStreamProvider for usage information.
Implementation
static const EventStreamProvider<Event> submitEvent =
const EventStreamProvider<Event>('submit');
suspendEvent#
Implementation
static const EventStreamProvider<Event> suspendEvent =
const EventStreamProvider<Event>('suspend');
timeUpdateEvent#
Implementation
static const EventStreamProvider<Event> timeUpdateEvent =
const EventStreamProvider<Event>('timeupdate');
touchCancelEvent#
Static factory designed to expose touchcancel events to event
handlers that are not necessarily instances of Element.
See EventStreamProvider for usage information.
Implementation
static const EventStreamProvider<TouchEvent> touchCancelEvent =
const EventStreamProvider<TouchEvent>('touchcancel');
touchEndEvent#
Static factory designed to expose touchend events to event
handlers that are not necessarily instances of Element.
See EventStreamProvider for usage information.
Implementation
static const EventStreamProvider<TouchEvent> touchEndEvent =
const EventStreamProvider<TouchEvent>('touchend');
touchEnterEvent#
Static factory designed to expose touchenter events to event
handlers that are not necessarily instances of Element.
See EventStreamProvider for usage information.
Implementation
static const EventStreamProvider<TouchEvent> touchEnterEvent =
const EventStreamProvider<TouchEvent>('touchenter');
touchLeaveEvent#
Static factory designed to expose touchleave events to event
handlers that are not necessarily instances of Element.
See EventStreamProvider for usage information.
Implementation
static const EventStreamProvider<TouchEvent> touchLeaveEvent =
const EventStreamProvider<TouchEvent>('touchleave');
touchMoveEvent#
Static factory designed to expose touchmove events to event
handlers that are not necessarily instances of Element.
See EventStreamProvider for usage information.
Implementation
static const EventStreamProvider<TouchEvent> touchMoveEvent =
const EventStreamProvider<TouchEvent>('touchmove');
touchStartEvent#
Static factory designed to expose touchstart events to event
handlers that are not necessarily instances of Element.
See EventStreamProvider for usage information.
Implementation
static const EventStreamProvider<TouchEvent> touchStartEvent =
const EventStreamProvider<TouchEvent>('touchstart');
transitionEndEvent#
Static factory designed to expose transitionend events to event
handlers that are not necessarily instances of Element.
See EventStreamProvider for usage information.
Implementation
static const EventStreamProvider<TransitionEvent> transitionEndEvent =
const _CustomEventStreamProvider<TransitionEvent>(
Element._determineTransitionEventType,
);
volumeChangeEvent#
Implementation
static const EventStreamProvider<Event> volumeChangeEvent =
const EventStreamProvider<Event>('volumechange');
waitingEvent#
Implementation
static const EventStreamProvider<Event> waitingEvent =
const EventStreamProvider<Event>('waiting');
wheelEvent#
Implementation
static const EventStreamProvider<WheelEvent> wheelEvent =
const EventStreamProvider<WheelEvent>('wheel');