テキストエリアにタブを入力できるようにする
追記:MacのFirebugのF12は、Dashboardにショートカットを取られていただけだった。F12の割り当てをはずすと普通に動作する。
(function() { const TAB_SPACE = "\t"; var areas = document.getElementsByTagName('textarea'); Array.forEach(areas, function(textarea) { textarea.addEventListener('keypress', onKeyPress, false); }); function onKeyPress(e) { var textarea = e.target; if (e.keyCode == KeyEvent.DOM_VK_ESCAPE) { textarea.blur(); } else if (e.keyCode == KeyEvent.DOM_VK_TAB && !e.shiftKey) { var { selectionStart: start, selectionEnd: end } = textarea; textarea.value = textarea.value.substr(0, start) + TAB_SPACE + textarea.value.substr(end); textarea.selectionStart = textarea.selectionEnd = start + TAB_SPACE.length; e.preventDefault(); } } })();
tabキーデフォルトの動作を消すので、とりあえずESCキーでテキストエリアを抜けられるようにした。
MacのFirebugはF12キーじゃコンソールを閉じれないようで、毎回マウスで閉じているのだけど不便。効率落ちる。