function extend(obj, hash) {
for (var k in hash) {
if (hash.hasOwnProperty(k)) {
obj[k] = hash[k];
}
}
}
function clone(obj) {
return extend({}, obj);
}
function create(tag, props) {
var el = document.createElement(tag);
extend(el, props);
return el;
}
document.onmouseup = function() {
var sel = window.getSelection();
var txt = sel.toString();
if (txt.trim()) {
var rng = sel.getRangeAt(0);
var el = create('strong', {innerHTML: txt});
rng.deleteContents();
rng.insertNode(el);
rng.selectNode(el);
}
}
Выделяешь текст, отпускаешь ЛКМ, текст становится жирным. Но! В браузере Opera выделяется не тот текст, в FF работает всё как надо, в Chrome ничего не выделяется вообще. Как сделать чтобы работало в этих трёх браузерах?
Живой пример