//return DocumentTextElement.fromHTMLElement(htmlElement, canvas);
return $element.data('canvas-element');
}
+
+ /* experimental */
+ if($element.parent().data('canvas-element')) {
+ return $element.parent().data('canvas-element');
+ }
},
reloadRoot: function() {
triggerKeyEvent: function(keyEvent, selection) {
selection = selection || this.getSelection();
- if(selection && (selection.type === 'caret' || selection.type === 'textSelection') && selection.toDocumentFragment().isValid()) {
+ if(selection && (
+ (selection.type === 'caret' || selection.type === 'textSelection') && selection.toDocumentFragment().isValid()
+ || selection.type == 'nodeSelection')) {
keyboard.handleKeyEvent(keyEvent, selection);
}
},
return this.getSelectionAnchor();
},
getSelectionStart: function() {
- return this.getSelectionBoundry('start');
+ return this.getSelectionBoundary('start');
},
getSelectionEnd: function() {
- return this.getSelectionBoundry('end');
+ return this.getSelectionBoundary('end');
},
getSelectionAnchor: function() {
- return this.getSelectionBoundry('anchor');
+ return this.getSelectionBoundary('anchor');
},
getSelectionFocus: function() {
- return this.getSelectionBoundry('focus');
+ return this.getSelectionBoundary('focus');
},
- getSelectionBoundry: function(which) {
+ getSelectionBoundary: function(which) {
/* globals window */
var selection = window.getSelection(),
anchorElement = this.canvas.getDocumentElement(selection.anchorNode),