Prova questo. Testato con IE e firefox
codice HTML:
<!DOCTYPE html>
<html>
<head>
<title>Untitled</title>
<script language="JavaScript" type="text/javascript">
<!--
function del(anId, senso){
range = window.getSelection().getRangeAt(0);
start = range.startOffset;
end = range.endOffset;
startNode = range.startContainer;
endNode = range.endContainer;
//alert(window.getSelection().focusNode.parentNode.id);
// per rimuovere solo nell'oggetto desiderato
if (window.getSelection().focusNode.parentNode.id == 'd') {
if (senso == '0') {
var startOffset = 0;
var endOffset = start;
} else {
var startOffset = end;
var endOffset = endNode.length;
}
var range2 = document.createRange();
range2.setStart(startNode,startOffset);
range2.setEnd(endNode, endOffset);
range2.deleteContents();
}
}
function tuttoTranne(anId) {
del(anId,'1');
del(anId,'0');
}
var end2, start2;
function del2(anId,senso) {
start2 = document.getElementById(anId).selectionStart;
end2 = document.getElementById(anId).selectionEnd;
if (senso == '1') {
var startOffset2 = 0;
var endOffset2 = end2;
} else {
var startOffset2 = start2;
var endOffset2 = document.getElementById(anId).value.length;
}
document.getElementById(anId).value = document.getElementById(anId).value.substr(startOffset2,endOffset2);
}
function tuttoTranne2(anId) {
del2(anId,'1');
document.getElementById(anId).selectionStart = start2;
document.getElementById(anId).selectionEnd = end2;
del2(anId,'0');
}
//-->
</script>
</head>
<body style="font-family:tahoma">
<hr />
Con una div :<br/>
<div id="d" contenteditable="true">questa è una frase che consente di testare il codice javascript</div>
<br/>
<button onclick="del('d','0');">Rimuove a sinistra</button>
<button onclick="del('d','1');">Rimuove a destra</button>
<button onclick="tuttoTranne('d');">Rimuove tutto tranne la selezione</button>
<hr />
Con una input :<br/>
<input type="text" id="i" size="80" value="questa è una frase che consente di testare il codice javascript" />
<br/>
<button onclick="del2('i','0');">Rimuove a sinistra</button>
<button onclick="del2('i','1');">Rimuove a destra</button>
<button onclick="tuttoTranne2('i');">Rimuove tutto tranne la selezione</button>
<hr />
Con una textarea :<br/>
<textarea id="t" cols="80" rows="10">questa è una frase che consente di testare il codice javascript</textarea>
<br/>
<button onclick="del2('t','0');">Rimuove a sinistra</button>
<button onclick="del2('t','1');">Rimuove a destra</button>
<button onclick="tuttoTranne2('t');">Rimuove tutto tranne la selezione</button>
<hr />
</body>
</html>