anchor.diff:      _pressSub =
           _element.onKeyPress.listen(_changeEventFunction((KeyboardEvent e) {
         // ignore arrow keys that fire this on firefox
  -      if (e.keyCode == 37 || e.keyCode == 38 || e.keyCode == 39 || e.keyCode == 40) {
  +      if (e.keyCode == 37 ||
  +          e.keyCode == 38 ||
  +          e.keyCode == 39 ||
  +          e.keyCode == 40 ||
  +          e.keyCode == 46 ||
  +          e.keyCode == 8) {
           return false;
         }
         // ignore when meta|ctrl that we get on firefox
  
positive.code:               " ".codeUnitAt(0)));
            // add a string of spaces after the string that will be deleted and with the same length
            _element.setRangeText(fillString,
                start: _element.selectionEnd, end: _element.selectionEnd);
            return true;
          }
        }
  
negative.code:       _logger.finer('setting spaces at ${_element.selectionEnd}');
        // add a string of spaces after the string that will be cut
        _element.setRangeText(fillString,
            start: _element.selectionEnd,
            end: _element.selectionEnd,
            selectionMode: 'preserve');
        return true;
      }, OverwriteEvent.EDIT));
  
  