The following code works as expected in Opera 9.6, but not in firefox or chrome (I can't test it in IE right now):
Code:
<script type="text/javascript">
function InsertTab(e)
{
var evtobj=window.event? event : e;
var unicode=evtobj.charCode? evtobj.charCode : evtobj.keyCode;
if (unicode==9)
{
var obj = document.getElementById('content');
if(document.selection)
{
obj.selection = document.selection.createRange();
obj.selection.text = String.fromCharCode(9);
}
else
{
var before, after;
before = obj.value.substring(0, obj.selectionStart);
after = obj.value.substring(obj.selectionEnd, obj.value.length);
obj.value= String.concat(before, String.fromCharCode(9), after);
}
if(evtobj.stopPropagation) {
evtobj.stopPropagation(); }
else {
evtobj.cancelBubble = true; }
if(evtobj.preventDefault) {
evtobj.preventDefault(); }
else {
evtobj.returnValue = false; }
}
return false;
}
function tablistener(){document.getElementById('content').addEventListener('keypress', InsertTab, true);}
window.onload=tablistener;
</script>
In firefox it doesn't seem like preventDefault is working correctly.
Last edited by NullPointer; 05-12-2009 at 01:38 AM..
|