maxGraph/docs/js-api/files/handler/mxKeyHandler-js.html

100 lines
55 KiB
HTML
Raw Normal View History

2012-05-21 20:32:26 +00:00
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
<html><head><title>mxKeyHandler</title><link rel="stylesheet" type="text/css" href="../../styles/main.css"><script language=JavaScript src="../../javascript/main.js"></script><script language=JavaScript src="../../javascript/prettify.js"></script><script language=JavaScript src="../../javascript/searchdata.js"></script></head><body class="ContentPage" onLoad="NDOnLoad();prettyPrint();"><script language=JavaScript><!--
if (browserType) {document.write("<div class=" + browserType + ">");if (browserVer) {document.write("<div class=" + browserVer + ">"); }}// --></script>
<!-- Generated by Natural Docs, version 1.5 -->
<!-- http://www.naturaldocs.org -->
<!-- saved from url=(0026)http://www.naturaldocs.org -->
<div id=Content><div class="CClass"><div class=CTopic id=MainTopic><h1 class=CTitle><a name="mxKeyHandler"></a>mxKeyHandler</h1><div class=CBody><p>Event handler that listens to keystroke events.&nbsp; This is not a singleton, however, it is normally only required once if the target is the document element (default).</p><p>This handler installs a key event listener in the topmost DOM node and processes all events that originate from descandants of &lt;mxGraph.container&gt; or from the topmost DOM node.&nbsp; The latter means that all unhandled keystrokes are handled by this object regardless of the focused state of the <a href="#mxKeyHandler.graph" class=LVariable id=link29 onMouseOver="ShowTip(event, 'tt2', 'link29')" onMouseOut="HideTip('tt2')">graph</a>.</p><h4 class=CHeading>Example</h4><p>The following example creates a key handler that listens to the delete key (46) and deletes the selection cells if the graph is enabled.</p><blockquote><pre class="prettyprint">var keyHandler = new mxKeyHandler(graph);
keyHandler.bindKey(46, function(evt)
{
if (graph.isEnabled())
{
graph.removeCells();
}
});</pre></blockquote><h4 class=CHeading>Keycodes</h4><p>See <a href="http://tinyurl.com/yp8jgl" class=LURL target=_top>http://tinyurl.com/yp8jgl</a> or <a href="http://tinyurl.com/229yqw" class=LURL target=_top>http://tinyurl.com/229yqw</a> for a list of keycodes or install a key event listener into the document element and print the key codes of the respective events to the console.</p><p>To support the Command key and the Control key on the Mac, the following code can be used.</p><blockquote><pre class="prettyprint">keyHandler.getFunction = function(evt)
{
if (evt != null)
{
return (mxEvent.isControlDown(evt) || (mxClient.IS_MAC &amp;&amp; evt.metaKey)) ? this.controlKeys[evt.keyCode] : this.normalKeys[evt.keyCode];
}
return null;
};</pre></blockquote><!--START_ND_SUMMARY--><div class=Summary><div class=STitle>Summary</div><div class=SBorder><table border=0 cellspacing=0 cellpadding=0 class=STable><tr class="SMain"><td class=SEntry><a href="#mxKeyHandler" >mxKeyHandler</a></td><td class=SDescription>Event handler that listens to keystroke events. </td></tr><tr class="SGroup SIndent1"><td class=SEntry><a href="#mxKeyHandler.Functions" >Functions</a></td><td class=SDescription></td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#mxKeyHandler.mxKeyHandler" id=link1 onMouseOver="ShowTip(event, 'tt1', 'link1')" onMouseOut="HideTip('tt1')">mxKeyHandler</a></td><td class=SDescription>Constructs an event handler that executes functions bound to specific keystrokes.</td></tr><tr class="SGroup SIndent1"><td class=SEntry><a href="#mxKeyHandler.Variables" >Variables</a></td><td class=SDescription></td></tr><tr class="SVariable SIndent2 SMarked"><td class=SEntry><a href="#mxKeyHandler.graph" id=link2 onMouseOver="ShowTip(event, 'tt2', 'link2')" onMouseOut="HideTip('tt2')">graph</a></td><td class=SDescription>Reference to the <a href="../view/mxGraph-js.html#mxGraph" class=LClass id=link3 onMouseOver="ShowTip(event, 'tt3', 'link3')" onMouseOut="HideTip('tt3')">mxGraph</a> associated with this handler.</td></tr><tr class="SVariable SIndent2"><td class=SEntry><a href="#mxKeyHandler.target" id=link4 onMouseOver="ShowTip(event, 'tt4', 'link4')" onMouseOut="HideTip('tt4')">target</a></td><td class=SDescription>Reference to the target DOM, that is, the DOM node where the key event listeners are installed.</td></tr><tr class="SVariable SIndent2 SMarked"><td class=SEntry><a href="#mxKeyHandler.normalKeys" id=link5 onMouseOver="ShowTip(event, 'tt5', 'link5')" onMouseOut="HideTip('tt5')">normalKeys</a></td><td class=SDescription>Maps from keycodes to functions for non-pressed control keys.</td></tr><tr class="SVariable SIndent2"><td class=SEntry><a href="#mxKeyHandler.shiftKeys" id=link6 onMouseOver="ShowTip(event, 'tt6', 'link6')" onMouseOut="HideTip('tt6')">shiftKeys</a></td><td class=SDescription>Maps from keycodes to functions for pressed shift keys.</td></tr><tr class="SVariable SIndent2 SMarked"><td class=SEntry><a href="#mxKeyHandler.controlKeys" id=link7 onMouseOver="ShowTip(event, 'tt7', 'link7')" onMouseOut="HideTip('tt7')">controlKeys</a></td><td class=SDescription>Maps from keycodes to functions for pressed control keys.</td></tr><tr class="SVariable SIndent2"><td class=SEntry><a href="#mxKeyHandler.controlShiftKeys" id=link8 onMouseOver="ShowTip(event, 'tt8', 'link8')" onMouseOut="HideTip('tt8')">controlShiftKeys</a></td><td class=SDescription>Maps from keycodes to functions for pressed control and shift keys.</td></tr><tr class="SVariable SIndent2 SMarked"><td class=SEntry><a href="#mxKeyHandler.enabled" id=link9 onMouseOver="ShowTip(event, 'tt9', 'link9')" onMouseOut="HideTip('tt9')">enabled</a></td><td class=SDescription>Specifies if events are handled. </td></tr><tr class="SGroup SIndent1"><td class=SEntry><a href="#mxKeyHandler.Functions" >Functions</a></td><td class=SDescription></td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#mxKeyHandler.isEnabled" id=link10 onMouseOver="ShowTip(event, 'tt10', 'link10')" onMouseOut="HideTip('tt10')">isEnabled</a></td><td class=SDescription>Returns true if events are handled. </td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#mxKeyHandler.setEnabled" id=link11 onMouseOver="ShowTip(event, 'tt11', 'link11')" onMouseOut="HideTip('tt11')">setEnabled</a></td><td class=SDescription>Enables or disables event handling by updating <a href="#mxKeyHandler.enabled" class=LVariable id=link12 onMouseOver="ShowTip(event, 'tt9', 'link12')" onMouseOut="HideTip('tt9')">enabled</a>.</td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#mxKeyHandler.bindKey" id=link13 onMouseOver="ShowTip(event, 'tt12', 'link13')" onMouseOut="HideTip('tt12')">bindKey</a></td><td class=SDescription>Binds the specified keycode to the given function. </td></tr><tr class
<div class="CGroup"><div class=CTopic><h3 class=CTitle><a name="mxKeyHandler.Functions"></a>Functions</h3></div></div>
<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="mxKeyHandler.mxKeyHandler"></a>mxKeyHandler</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype prettyprint"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>function mxKeyHandler(</td><td class=PParameter nowrap>graph,</td></tr><tr><td></td><td class=PParameter nowrap>target</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote><p>Constructs an event handler that executes functions bound to specific keystrokes.</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>graph</td><td class=CDLDescription>Reference to the associated <a href="../view/mxGraph-js.html#mxGraph" class=LClass id=link30 onMouseOver="ShowTip(event, 'tt3', 'link30')" onMouseOut="HideTip('tt3')">mxGraph</a>.</td></tr><tr><td class=CDLEntry>target</td><td class=CDLDescription>Optional reference to the event target.&nbsp; If null, the document element is used as the event target, that is, the object where the key event listener is installed.</td></tr></table></div></div></div>
<div class="CGroup"><div class=CTopic><h3 class=CTitle><a name="mxKeyHandler.Variables"></a>Variables</h3></div></div>
<div class="CVariable"><div class=CTopic><h3 class=CTitle><a name="mxKeyHandler.graph"></a>graph</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype prettyprint"><tr><td>mxKeyHandler.prototype.graph</td></tr></table></blockquote><p>Reference to the <a href="../view/mxGraph-js.html#mxGraph" class=LClass id=link31 onMouseOver="ShowTip(event, 'tt3', 'link31')" onMouseOut="HideTip('tt3')">mxGraph</a> associated with this handler.</p></div></div></div>
<div class="CVariable"><div class=CTopic><h3 class=CTitle><a name="mxKeyHandler.target"></a>target</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype prettyprint"><tr><td>mxKeyHandler.prototype.target</td></tr></table></blockquote><p>Reference to the target DOM, that is, the DOM node where the key event listeners are installed.</p></div></div></div>
<div class="CVariable"><div class=CTopic><h3 class=CTitle><a name="mxKeyHandler.normalKeys"></a>normalKeys</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype prettyprint"><tr><td>mxKeyHandler.prototype.normalKeys</td></tr></table></blockquote><p>Maps from keycodes to functions for non-pressed control keys.</p></div></div></div>
<div class="CVariable"><div class=CTopic><h3 class=CTitle><a name="mxKeyHandler.shiftKeys"></a>shiftKeys</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype prettyprint"><tr><td>mxKeyHandler.prototype.shiftKeys</td></tr></table></blockquote><p>Maps from keycodes to functions for pressed shift keys.</p></div></div></div>
<div class="CVariable"><div class=CTopic><h3 class=CTitle><a name="mxKeyHandler.controlKeys"></a>controlKeys</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype prettyprint"><tr><td>mxKeyHandler.prototype.controlKeys</td></tr></table></blockquote><p>Maps from keycodes to functions for pressed control keys.</p></div></div></div>
<div class="CVariable"><div class=CTopic><h3 class=CTitle><a name="mxKeyHandler.controlShiftKeys"></a>controlShiftKeys</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype prettyprint"><tr><td>mxKeyHandler.prototype.controlShiftKeys</td></tr></table></blockquote><p>Maps from keycodes to functions for pressed control and shift keys.</p></div></div></div>
<div class="CVariable"><div class=CTopic><h3 class=CTitle><a name="mxKeyHandler.enabled"></a>enabled</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype prettyprint"><tr><td>mxKeyHandler.prototype.enabled</td></tr></table></blockquote><p>Specifies if events are handled.&nbsp; Default is true.</p></div></div></div>
<div class="CGroup"><div class=CTopic><h3 class=CTitle><a name="mxKeyHandler.Functions"></a>Functions</h3></div></div>
<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="mxKeyHandler.isEnabled"></a>isEnabled</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype prettyprint"><tr><td>mxKeyHandler.prototype.isEnabled = function()</td></tr></table></blockquote><p>Returns true if events are handled.&nbsp; This implementation returns <a href="#mxKeyHandler.enabled" class=LVariable id=link32 onMouseOver="ShowTip(event, 'tt9', 'link32')" onMouseOut="HideTip('tt9')">enabled</a>.</p></div></div></div>
<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="mxKeyHandler.setEnabled"></a>setEnabled</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype prettyprint"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>mxKeyHandler.prototype.setEnabled = function(</td><td class=PParameter nowrap>enabled</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote><p>Enables or disables event handling by updating <a href="#mxKeyHandler.enabled" class=LVariable id=link33 onMouseOver="ShowTip(event, 'tt9', 'link33')" onMouseOut="HideTip('tt9')">enabled</a>.</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>enabled</td><td class=CDLDescription>Boolean that specifies the new enabled state.</td></tr></table></div></div></div>
<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="mxKeyHandler.bindKey"></a>bindKey</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype prettyprint"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>mxKeyHandler.prototype.bindKey = function(</td><td class=PParameter nowrap>code,</td></tr><tr><td></td><td class=PParameter nowrap>funct</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote><p>Binds the specified keycode to the given function.&nbsp; This binding is used if the control key is not pressed.</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>code</td><td class=CDLDescription>Integer that specifies the keycode.</td></tr><tr><td class=CDLEntry>funct</td><td class=CDLDescription>JavaScript function that takes the key event as an argument.</td></tr></table></div></div></div>
<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="mxKeyHandler.bindShiftKey"></a>bindShiftKey</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype prettyprint"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>mxKeyHandler.prototype.bindShiftKey = function(</td><td class=PParameter nowrap>code,</td></tr><tr><td></td><td class=PParameter nowrap>funct</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote><p>Binds the specified keycode to the given function.&nbsp; This binding is used if the shift key is pressed.</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>code</td><td class=CDLDescription>Integer that specifies the keycode.</td></tr><tr><td class=CDLEntry>funct</td><td class=CDLDescription>JavaScript function that takes the key event as an argument.</td></tr></table></div></div></div>
<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="mxKeyHandler.bindControlKey"></a>bindControlKey</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype prettyprint"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>mxKeyHandler.prototype.bindControlKey = function(</td><td class=PParameter nowrap>code,</td></tr><tr><td></td><td class=PParameter nowrap>funct</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote><p>Binds the specified keycode to the given function.&nbsp; This binding is used if the control key is pressed.</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>code</td><td class=CDLDescription>Integer that specifies the keycode.</td></tr><tr><td class=CDLEntry>funct</td><td class=CDLDescription>JavaScript function that takes the key event as an argument.</td></tr></table></div></div></div>
<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="mxKeyHandler.bindControlShiftKey"></a>bindControlShiftKey</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype prettyprint"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>mxKeyHandler.prototype.bindControlShiftKey = function(</td><td class=PParameter nowrap>code,</td></tr><tr><td></td><td class=PParameter nowrap>funct</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote><p>Binds the specified keycode to the given function.&nbsp; This binding is used if the control and shift key are pressed.</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>code</td><td class=CDLDescription>Integer that specifies the keycode.</td></tr><tr><td class=CDLEntry>funct</td><td class=CDLDescription>JavaScript function that takes the key event as an argument.</td></tr></table></div></div></div>
<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="mxKeyHandler.isControlDown"></a>isControlDown</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype prettyprint"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>mxKeyHandler.prototype.isControlDown = function(</td><td class=PParameter nowrap>evt</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote><p>Returns true if the control key is pressed.&nbsp; This uses <a href="../util/mxEvent-js.html#mxEvent.isControlDown" class=LFunction id=link34 onMouseOver="ShowTip(event, 'tt25', 'link34')" onMouseOut="HideTip('tt25')">mxEvent.isControlDown</a>.</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>evt</td><td class=CDLDescription>Key event whose control key pressed state should be returned.</td></tr></table></div></div></div>
<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="mxKeyHandler.getFunction"></a>getFunction</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype prettyprint"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>mxKeyHandler.prototype.getFunction = function(</td><td class=PParameter nowrap>evt</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote><p>Returns the function associated with the given key event or null if no function is associated with the given event.</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>evt</td><td class=CDLDescription>Key event whose associated function should be returned.</td></tr></table></div></div></div>
<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="mxKeyHandler.isGraphEvent"></a>isGraphEvent</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype prettyprint"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>mxKeyHandler.prototype.isGraphEvent = function(</td><td class=PParameter nowrap>evt</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote><p>Returns true if the event should be processed by this handler, that is, if the event source is either the target, one of its direct children, a descendant of the &lt;mxGraph.container&gt;, or the <a href="../view/mxGraph-js.html#mxGraph.cellEditor" class=LVariable id=link35 onMouseOver="ShowTip(event, 'tt19', 'link35')" onMouseOut="HideTip('tt19')">mxGraph.cellEditor</a> of the <a href="#mxKeyHandler.graph" class=LVariable id=link36 onMouseOver="ShowTip(event, 'tt2', 'link36')" onMouseOut="HideTip('tt2')">graph</a>.</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>evt</td><td class=CDLDescription>Key event that represents the keystroke.</td></tr></table></div></div></div>
<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="mxKeyHandler.keyDown"></a>keyDown</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype prettyprint"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>mxKeyHandler.prototype.keyDown = function(</td><td class=PParameter nowrap>evt</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote><p>Handles the event by invoking the function bound to the respective keystroke if <a href="../view/mxGraph-js.html#mxGraph.isEnabled" class=LFunction id=link37 onMouseOver="ShowTip(event, 'tt21', 'link37')" onMouseOut="HideTip('tt21')">mxGraph.isEnabled</a>, <a href="#mxKeyHandler.isEnabled" class=LFunction id=link38 onMouseOver="ShowTip(event, 'tt10', 'link38')" onMouseOut="HideTip('tt10')">isEnabled</a> and <a href="#mxKeyHandler.isGraphEvent" class=LFunction id=link39 onMouseOver="ShowTip(event, 'tt18', 'link39')" onMouseOut="HideTip('tt18')">isGraphEvent</a> all return true for the given event and <a href="../view/mxGraph-js.html#mxGraph.isEditing" class=LFunction id=link40 onMouseOver="ShowTip(event, 'tt22', 'link40')" onMouseOut="HideTip('tt22')">mxGraph.isEditing</a> returns false.&nbsp; If the graph is editing only the &lt;enter&gt; and <a href="#mxKeyHandler.escape" class=LFunction id=link41 onMouseOver="ShowTip(event, 'tt23', 'link41')" onMouseOut="HideTip('tt23')">escape</a> cases are handled by calling the respective hooks.</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>evt</td><td class=CDLDescription>Key event that represents the keystroke.</td></tr></table></div></div></div>
<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="mxKeyHandler.escape"></a>escape</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype prettyprint"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>mxKeyHandler.prototype.escape = function(</td><td class=PParameter nowrap>evt</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote><p>Hook to process ESCAPE keystrokes.&nbsp; This implementation invokes <a href="../view/mxGraph-js.html#mxGraph.stopEditing" class=LFunction id=link42 onMouseOver="ShowTip(event, 'tt26', 'link42')" onMouseOut="HideTip('tt26')">mxGraph.stopEditing</a> to cancel the current editing, connecting and/or other ongoing modifications.</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>evt</td><td class=CDLDescription>Key event that represents the keystroke.&nbsp; Possible keycode in this case is 27 (ESCAPE).</td></tr></table></div></div></div>
<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="mxKeyHandler.destroy"></a>destroy</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype prettyprint"><tr><td>mxKeyHandler.prototype.destroy = function()</td></tr></table></blockquote><p>Destroys the handler and all its references into the DOM.&nbsp; This does normally not need to be called, it is called automatically when the window unloads (in IE).</p></div></div></div>
</div><!--Content-->
<div id=Footer><a href="http://www.naturaldocs.org">Generated by Natural Docs</a></div><!--Footer-->
2014-03-14 13:24:50 +00:00
<div id=Menu><div class=MEntry><div class=MFile><a href="../index-txt.html">API Specification</a></div></div><div class=MEntry><div class=MGroup><a href="javascript:ToggleMenu('MGroupContent1')">Editor</a><div class=MGroupContent id=MGroupContent1><div class=MEntry><div class=MFile><a href="../editor/mxDefaultKeyHandler-js.html">mxDefaultKeyHandler</a></div></div><div class=MEntry><div class=MFile><a href="../editor/mxDefaultPopupMenu-js.html">mxDefaultPopupMenu</a></div></div><div class=MEntry><div class=MFile><a href="../editor/mxDefaultToolbar-js.html">mxDefaultToolbar</a></div></div><div class=MEntry><div class=MFile><a href="../editor/mxEditor-js.html">mxEditor</a></div></div></div></div></div><div class=MEntry><div class=MGroup><a href="javascript:ToggleMenu('MGroupContent2')">Handler</a><div class=MGroupContent id=MGroupContent2><div class=MEntry><div class=MFile><a href="mxCellHighlight-js.html">mxCellHighlight</a></div></div><div class=MEntry><div class=MFile><a href="mxCellMarker-js.html">mxCellMarker</a></div></div><div class=MEntry><div class=MFile><a href="mxCellTracker-js.html">mxCellTracker</a></div></div><div class=MEntry><div class=MFile><a href="mxConnectionHandler-js.html">mxConnectionHandler</a></div></div><div class=MEntry><div class=MFile><a href="mxConstraintHandler-js.html">mxConstraintHandler</a></div></div><div class=MEntry><div class=MFile><a href="mxEdgeHandler-js.html">mxEdgeHandler</a></div></div><div class=MEntry><div class=MFile><a href="mxEdgeSegmentHandler-js.html">mxEdgeSegmentHandler.js</a></div></div><div class=MEntry><div class=MFile><a href="mxElbowEdgeHandler-js.html">mxElbowEdgeHandler</a></div></div><div class=MEntry><div class=MFile><a href="mxGraphHandler-js.html">mxGraphHandler</a></div></div><div class=MEntry><div class=MFile id=MSelected>mxKeyHandler</div></div><div class=MEntry><div class=MFile><a href="mxPanningHandler-js.html">mxPanningHandler</a></div></div><div class=MEntry><div class=MFile><a href="mxPopupMenuHandler-js.html">mxPopupMenuHandler</a></div></div><div class=MEntry><div class=MFile><a href="mxRubberband-js.html">mxRubberband</a></div></div><div class=MEntry><div class=MFile><a href="mxSelectionCellsHandler-js.html">mxSelectionCellsHandler</a></div></div><div class=MEntry><div class=MFile><a href="mxTooltipHandler-js.html">mxTooltipHandler</a></div></div><div class=MEntry><div class=MFile><a href="mxVertexHandler-js.html">mxVertexHandler</a></div></div></div></div></div><div class=MEntry><div class=MGroup><a href="javascript:ToggleMenu('MGroupContent3')">Io</a><div class=MGroupContent id=MGroupContent3><div class=MEntry><div class=MFile><a href="../io/mxCellCodec-js.html">mxCellCodec</a></div></div><div class=MEntry><div class=MFile><a href="../io/mxChildChangeCodec-js.html">mxChildChangeCodec</a></div></div><div class=MEntry><div class=MFile><a href="../io/mxCodec-js.html">mxCodec</a></div></div><div class=MEntry><div class=MFile><a href="../io/mxCodecRegistry-js.html">mxCodecRegistry</a></div></div><div class=MEntry><div class=MFile><a href="../io/mxDefaultKeyHandlerCodec-js.html">mxDefaultKeyHandlerCodec</a></div></div><div class=MEntry><div class=MFile><a href="../io/mxDefaultPopupMenuCodec-js.html">mxDefaultPopupMenuCodec</a></div></div><div class=MEntry><div class=MFile><a href="../io/mxDefaultToolbarCodec-js.html">mxDefaultToolbarCodec</a></div></div><div class=MEntry><div class=MFile><a href="../io/mxEditorCodec-js.html">mxEditorCodec</a></div></div><div class=MEntry><div class=MFile><a href="../io/mxGenericChangeCodec-js.html">mxGenericChangeCodec</a></div></div><div class=MEntry><div class=MFile><a href="../io/mxGraphCodec-js.html">mxGraphCodec</a></div></div><div class=MEntry><div class=MFile><a href="../io/mxGraphViewCodec-js.html">mxGraphViewCodec</a></div></div><div class=MEntry><div class=MFile><a href="../io/mxModelCodec-js.html">mxModelCodec</a></div></div><div class=MEntry><div class=MFile><a href="../io/mxObjectCodec-js.html">mxObjectCodec</a></div></div><div class=MEntry><div class=MFile><a href="../io/mxRootChangeCodec-js.html">mxRootCh
2012-05-21 20:32:26 +00:00
var searchPanel = new SearchPanel("searchPanel", "HTML", "../../search");
--></script><div id=MSearchPanel class=MSearchPanelInactive><input type=text id=MSearchField value=Search onFocus="searchPanel.OnSearchFieldFocus(true)" onBlur="searchPanel.OnSearchFieldFocus(false)" onKeyUp="searchPanel.OnSearchFieldChange()"><select id=MSearchType onFocus="searchPanel.OnSearchTypeFocus(true)" onBlur="searchPanel.OnSearchTypeFocus(false)" onChange="searchPanel.OnSearchTypeChange()"><option id=MSearchEverything selected value="General">Everything</option><option value="Classes">Classes</option><option value="Cookies">Cookies</option><option value="Events">Events</option><option value="Files">Files</option><option value="Functions">Functions</option><option value="Variables">Variables</option></select></div><script language=JavaScript><!--
HideAllBut([2], 13);// --></script></div><!--Menu-->
<!--START_ND_TOOLTIPS-->
<div class=CToolTip id="tt1"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype prettyprint"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>function mxKeyHandler(</td><td class=PParameter nowrap>graph,</td></tr><tr><td></td><td class=PParameter nowrap>target</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>Constructs an event handler that executes functions bound to specific keystrokes.</div></div><div class=CToolTip id="tt2"><div class=CVariable><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype prettyprint"><tr><td>mxKeyHandler.prototype.graph</td></tr></table></blockquote>Reference to the mxGraph associated with this handler.</div></div><div class=CToolTip id="tt3"><div class=CClass>Extends mxEventSource to implement a graph component for the browser. </div></div><div class=CToolTip id="tt4"><div class=CVariable><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype prettyprint"><tr><td>mxKeyHandler.prototype.target</td></tr></table></blockquote>Reference to the target DOM, that is, the DOM node where the key event listeners are installed.</div></div><div class=CToolTip id="tt5"><div class=CVariable><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype prettyprint"><tr><td>mxKeyHandler.prototype.normalKeys</td></tr></table></blockquote>Maps from keycodes to functions for non-pressed control keys.</div></div><div class=CToolTip id="tt6"><div class=CVariable><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype prettyprint"><tr><td>mxKeyHandler.prototype.shiftKeys</td></tr></table></blockquote>Maps from keycodes to functions for pressed shift keys.</div></div><div class=CToolTip id="tt7"><div class=CVariable><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype prettyprint"><tr><td>mxKeyHandler.prototype.controlKeys</td></tr></table></blockquote>Maps from keycodes to functions for pressed control keys.</div></div><div class=CToolTip id="tt8"><div class=CVariable><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype prettyprint"><tr><td>mxKeyHandler.prototype.controlShiftKeys</td></tr></table></blockquote>Maps from keycodes to functions for pressed control and shift keys.</div></div><div class=CToolTip id="tt9"><div class=CVariable><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype prettyprint"><tr><td>mxKeyHandler.prototype.enabled</td></tr></table></blockquote>Specifies if events are handled. </div></div><div class=CToolTip id="tt10"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype prettyprint"><tr><td>mxKeyHandler.prototype.isEnabled = function()</td></tr></table></blockquote>Returns true if events are handled. </div></div><div class=CToolTip id="tt11"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype prettyprint"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>mxKeyHandler.prototype.setEnabled = function(</td><td class=PParameter nowrap>enabled</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>Enables or disables event handling by updating enabled.</div></div><div class=CToolTip id="tt12"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype prettyprint"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>mxKeyHandler.prototype.bindKey = function(</td><td class=PParameter nowrap>code,</td></tr><tr><td></td><td class=PParameter nowrap>funct</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>Binds the specified keycode to the given function. </div></div><div class=CToolTip id="tt13"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype prettyprint"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>m
<div id=MSearchResultsWindow><iframe src="" frameborder=0 name=MSearchResults id=MSearchResults></iframe><a href="javascript:searchPanel.CloseResultsWindow()" id=MSearchResultsWindowClose>Close</a></div>
<script language=JavaScript><!--
if (browserType) {if (browserVer) {document.write("</div>"); }document.write("</div>");}// --></script></body></html>