diff options
author | Michael Hamann <michael@content-space.de> | 2010-06-27 18:34:57 +0200 |
---|---|---|
committer | Michael Hamann <michael@content-space.de> | 2010-06-27 18:40:38 +0200 |
commit | 136982455ae0eddc18744176db33fbd7b421e11c (patch) | |
tree | 47204bcdc587685117e1de019f6659220ef4c460 /lib/scripts/textselection.js | |
parent | 226bf2dc02909d49bb6afbd7b5018572aeba6050 (diff) | |
download | dokuwiki-136982455ae0eddc18744176db33fbd7b421e11c.tar.gz dokuwiki-136982455ae0eddc18744176db33fbd7b421e11c.zip |
Fixed automatic insertion of listbullets in Opera FS#1877
The keydown event can't be prevented in Opera (see
http://www.quirksmode.org/dom/events/keys.html) so this switches back to
keypress in Opera (keypress doesn't give the correct key codes in
Firefox). Furthermore Opera replaces '\n' by '\r\n' when inserting text,
thus the offset for cursor/selection placement was wrong.
Diffstat (limited to 'lib/scripts/textselection.js')
-rw-r--r-- | lib/scripts/textselection.js | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/lib/scripts/textselection.js b/lib/scripts/textselection.js index 0378b544d..742338785 100644 --- a/lib/scripts/textselection.js +++ b/lib/scripts/textselection.js @@ -161,7 +161,12 @@ function pasteText(selection,text,opts){ selection.obj.value.substring(selection.end, selection.obj.value.length); // set new selection - selection.end = selection.start + text.length; + if (is_opera) { + // Opera replaces \n by \r\n when inserting text. + selection.end = selection.start + text.replace(/\r?\n/g, '\r\n').length; + } else { + selection.end = selection.start + text.length; + } // modify the new selection if wanted if(opts.startofs) selection.start += opts.startofs; |