Forum Moderators: open
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
<head>
<title>Event Bug</title>
<script type="application/javascript">
//<![CDATA[
function init()
{
if (document.getElementById('editor'))
{
document.getElementById('editor').onkeydown = function(e) {event_onkeydown(e);}
}
}
function event_onkeydown(e)
{
if (e.ctrlKey && e.keyCode==86) {event_onpaste(e);}//CTRL+v
}
function event_onpaste(e)
{
if (e.ctrlKey && e.keyCode==86)
{//alert(e.type);
var r = document.getElementById('editor');
var s = window.getSelection();
var an = s.anchorNode;
var fn = s.focusNode;
var sos = s.getRangeAt(0).startOffset;
var fos = s.getRangeAt(0).endOffset;
if (!document.getElementById('editor_paste'))
{
var p = document.getElementById('editor_paste');
var h = document.createElement('div');
h.setAttribute('contenteditable','true');
h.setAttribute('id','editor_paste');
h.setAttribute('style','border: #f00 solid 1px; height: 100px;');
var t = document.createTextNode('');
h.appendChild(t);
r.parentNode.insertBefore(h,r.nextSibling);
var p = document.getElementById('editor_paste');
p.focus();
window.getSelection().selectAllChildren(p);
window.getSelection().collapseToStart();
try {e.initEvent(e.type,false,true);} catch (err) {alert(err);}
alert('p.textContent = '+p.textContent);
}
}
}
window.onload = function()
{
init();
}
//]]>
</script>
<style type="text/css">
p {font-size: 22px;}
</style>
</head>
<body>
<div contenteditable="true" id="editor" style="border: #00f solid 1px;">
<p>Paragraph one.</p>
<p>Paragraph two.</p>
</div>
</body>
</html>