Textarea + Tab
Sziasztok!
Minden alkalommal, amikor hozzászólok egy-egy cikkhez és esetleg forráskódot is írok a colorer segítségével, akkor rendszerint a vakolatot is leátkozom a plafonról a Tab miatt, mivel reflexből igyekszek az olvashatóságra törekedni, de persze az alapértelmezett működés ezt nem teszi lehetővé.
Ezért azt szeretném kérni, hogy az alábbi kódrészletet illesszétek be a javascriptek közé, amennyiben ti is hasznosnak találjátok:... vagy ha szükség van az alapértelmezett működésre, akkor Shift+Tab-ra rakni. Vagy ilyesmi. Én speciel örülnék neki :D
Köszi!
■ Minden alkalommal, amikor hozzászólok egy-egy cikkhez és esetleg forráskódot is írok a colorer segítségével, akkor rendszerint a vakolatot is leátkozom a plafonról a Tab miatt, mivel reflexből igyekszek az olvashatóságra törekedni, de persze az alapértelmezett működés ezt nem teszi lehetővé.
Ezért azt szeretném kérni, hogy az alábbi kódrészletet illesszétek be a javascriptek közé, amennyiben ti is hasznosnak találjátok:
$(function() {
$('textarea').keypress(function(e){
if(e.keyCode == 9){
e.preventDefault();
var pos = 0;
var ctrl = $(this).get(0);
// get position
if (document.selection) {
ctrl.focus ();
var Sel = document.selection.createRange ();
Sel.moveStart ('character', -ctrl.value.length);
pos = Sel.text.length;
} else if (ctrl.selectionStart || ctrl.selectionStart == '0') {
pos = ctrl.selectionStart;
}
var _pre = $(this).val().substring(0, pos);
var _post = $(this).val().substring(pos);
$(this).val(_pre+"\t"+_post)
//set position
if(ctrl.setSelectionRange)
{
ctrl.focus();
ctrl.setSelectionRange(pos+1,pos+1);
}
else if (ctrl.createTextRange) {
var range = ctrl.createTextRange();
range.collapse(true);
range.moveEnd('character', pos+1);
range.moveStart('character', pos+1);
range.select();
}
}
});
});
Köszi!