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!