Files
Umbraco-CMS/umbraco/presentation/umbraco_client/Application/JQuery/jquery-fieldselection.js
Shandem 40ee7aeae4 DO NOT DOWNLOAD, STABLE RELEASE AVAILABLE ON THE RELEASES TAB
Fixes more IE issues with code editor, streamline JS for editor.

[TFS Changeset #59401]
2009-09-23 15:37:06 +00:00

84 lines
2.0 KiB
JavaScript

//
// jQuery plugin: fieldSelection - v0.1.0 - last change: 2006-12-16
// (c) 2006 Alex Brem <alex@0xab.cd> - http://blog.0xab.cd
//
(function() {
var fieldSelection = {
getSelection: function() {
var e = this.jquery ? this[0] : this;
return (
// mozilla or dom 3.0
('selectionStart' in e && function() {
var l = e.selectionEnd - e.selectionStart;
return { start: e.selectionStart, end: e.selectionEnd, length: l, text: e.value.substr(e.selectionStart, l) };
}) ||
// exploder
(document.selection && function() {
e.focus();
var r = document.selection.createRange();
if (r == null) {
return { start: 0, end: e.value.length, length: 0 }
}
var re = e.createTextRange();
var rc = re.duplicate();
re.moveToBookmark(r.getBookmark());
rc.setEndPoint('EndToStart', re);
return { start: rc.text.length, end: rc.text.length + r.text.length, length: r.text.length, text: r.text };
}) ||
// browser not supported
function() {
return { start: 0, end: e.value.length, length: 0 };
}
)();
},
replaceSelection: function() {
var e = this.jquery ? this[0] : this;
var text = arguments[0] || '';
return (
// mozilla or dom 3.0
('selectionStart' in e && function() {
e.value = e.value.substr(0, e.selectionStart) + text + e.value.substr(e.selectionEnd, e.value.length);
return this;
}) ||
// exploder
(document.selection && function() {
e.focus();
document.selection.createRange().text = text;
return this;
}) ||
// browser not supported
function() {
e.value += text;
return this;
}
)();
}
};
jQuery.each(fieldSelection, function(i) { jQuery.fn[i] = this; });
})();