RTCDataChannel: close event
BaselineWidely available
This feature is well established and works across many devices and browser versions. It’s been available across browsers since January 2020.
Theclose
event is sent to theonclose
event handler on anRTCDataChannel
instance when the data transport for the data channel has closed. Before any further data can be transferred usingRTCDataChannel
, a new 'RTCDataChannel' instance must be created.
This event is not cancelable and does not bubble.
Syntax
Use the event name in methods likeaddEventListener()
, or set an event handler property.
addEventListener("close", (event) => { })onclose = (event) => { }
Event type
A genericEvent
.
Examples
This example sets up a handler for theclose
event for theRTCDataChannel
nameddc
; its responsibility in this example is to update user interface elements to reflect that there is no longer an ongoing call, and to allow a new call to be started.
dc.addEventListener( "close", (ev) => { messageInputBox.disabled = true; sendButton.disabled = true; connectButton.disabled = false; disconnectButton.disabled = true; }, false,);
All this code does in response to receiving theclose
event is to disable an input box and its "Send" button, and to enable the button used to start a call (while disabling the one that ends a call).
You can also use theonclose
event handler property to set a handler forclose
events:
dc.onclose = (ev) => { messageInputBox.disabled = true; sendButton.disabled = true; connectButton.disabled = false; disconnectButton.disabled = true;};
Specifications
Specification |
---|
WebRTC: Real-Time Communication in Browsers # event-datachannel-close |
WebRTC: Real-Time Communication in Browsers # dom-rtcdatachannel-onclose |
Browser compatibility
See also
- WebRTC API
- A simple RTCDataChannel example
- Related events:
open
,message
, anderror