Skip to content

Instantly share code, notes, and snippets.

@nobodyplace
Created January 14, 2022 09:37
Show Gist options
  • Save nobodyplace/e450d87daa526be610dd8a5d5ce2508d to your computer and use it in GitHub Desktop.
Save nobodyplace/e450d87daa526be610dd8a5d5ce2508d to your computer and use it in GitHub Desktop.
quicktag.jsからの抜粋
qt.insertContent = function(content) {
var sel, startPos, endPos, scrollTop, text, canvas = document.getElementById(wpActiveEditor), event;
if ( !canvas ) {
return false;
}
if ( document.selection ) { //IE
canvas.focus();
sel = document.selection.createRange();
sel.text = content;
canvas.focus();
} else if ( canvas.selectionStart || canvas.selectionStart === 0 ) { // FF, WebKit, Opera
text = canvas.value;
startPos = canvas.selectionStart;
endPos = canvas.selectionEnd;
scrollTop = canvas.scrollTop;
canvas.value = text.substring(0, startPos) + content + text.substring(endPos, text.length);
canvas.selectionStart = startPos + content.length;
canvas.selectionEnd = startPos + content.length;
canvas.scrollTop = scrollTop;
canvas.focus();
} else {
canvas.value += content;
canvas.focus();
}
if ( document.createEvent ) {
event = document.createEvent( 'HTMLEvents' );
event.initEvent( 'change', false, true );
canvas.dispatchEvent( event );
} else if ( canvas.fireEvent ) {
canvas.fireEvent( 'onchange' );
}
return true;
};
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment