save, open, exportImage (setCustomHandlers)You can hook to the save event (e.g. in an extension), to handle saving
the SVG file differently:
svgEditor.setCustomHandlers({
 save (win, data) {
  // Save svg
 }
});
Other methods corresponding to UI events that may be supplied are open
and exportImage.
See [CustomHandler]{@link module:SVGEditor.CustomHandler} for the required
format of the object to be passed to
[setCustomHandlers]{@link module:SVGEditor.setCustomHandlers}.
svgEditorReadyThe svgEditorReady event is triggered on a containing document (ofwindow.opener or window.parent) when the editor is loaded.
See [svgEditorReadyEvent]{@link module:SVGEditor#event:svgEditorReadyEvent}
for the JSDocs.
$(document).bind('svgEditorReady', function () {
  const svg = `
    <!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
      "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
    <svg xmlns="http://www.w3.org/2000/svg" width="100" height="50">
      <ellipse cx="50" cy="25" rx="50" ry="25" style="fill:blue;"/>
    </svg>`;
  $('iframe.svgedit')[0].contentWindow.svgCanvas.setSvgString(svg);
});
If you are acting within the frame, you may use svgEditor.ready
(see Within-frame events below).
svgEditor)svgEditor.canvassvgEditor.canvas.bind(eventName, function () {})svgEditor.ready(function () {})Method for listening to editor callbacks. Used internally as well.
No arguments passed to callback.
See [SVGEditor.ready]{@link module:SVGEditor.ready}.
Most extensions will want to run functions when certain events are
triggered. This is a list of the current events that can be hooked
onto. All events are optional.
See the vars param of
[runExtensions]{@link module:svgcanvas.SvgCanvas#runExtensions}
for some of the available extension events and their descriptions and types.
See [ExtensionStatus]{@link module:svgcanvas.ExtensionStatus} for the
values to be returned by the corresponding extension methods listening
for these extension event types.
Canvas events are listened to with the bind method
([JSDocs API]{@link module:svgcanvas.SvgCanvas#bind}):
canvas.bind(eventName, callback);
Canvas events are passed between the editor and canvas and should mostly
only of be of interest to those working with the [Canvas]{@tutorial CanvasAPI}
alone or those developing SVGEdit).
callback (see [EventHandler]{@link module:svgcanvas.EventHandler}) will be passed thewindow object and a single argument specific to the event
(see [GenericCanvasEvent]{@link module:svgcanvas.SvgCanvas#event:GenericCanvasEvent}).
The bind method will return any previous callback attached to the given
event name.
The method used to trigger these bound events is call()
([JSDocs]{@link module:svgcanvas.SvgCanvas#call}).
All events below are currently called from within svgcanvas.js except where
noted. All events are also defined internally within svg-editor.js except
where noted.
| Event | Where bound/defined (besides editor) | Where called/triggered (besides canvas) | 
|---|---|---|
| changed | (Also called from draw.js,ext-arrows.js,ext-foreignObject.js,ext-markers.js,ext-polygon.js,ext-star.js, andpath.js) | |
| cleared | Not bound/defined in SVGEdit. | |
| contextset | Only called from draw.js | |
| exported | ||
| exportedPDF | ||
| extension_added | ||
| extensions_added | Only called from svg-editor.js | |
| message | Only bound/defined in ext-webappfind.js | Only called from svg-editor.js | 
| pointsAdded | Not bound/defined in SVGEdit. | |
| saved | ||
| selected | Also called from path.js | |
| setnonce | Only bound/defined in ext-arrows.js | |
| transition | ||
| updateCanvas | ||
| unsetnonce | Only bound/defined in ext-arrows.js | |
| zoomed | ||
| zoomDone |