簡體   English   中英

使用JavaScript的鍵盤縮進

[英]Keyboard indentation using JavaScript

我有跟隨textarea字段來編寫像Try It Editor這樣的HTML代碼。

<textarea class="form-control" required rows="15" id="code" 
Placeholder="আপনার HTML এবং CSS কোডগুলো এখানে লিখুন তারপর আউটপুট দেখার জন্য 
নিচের নীল বাটনটিতে ক্লিক করুন..." name="code"></textarea>

在這個框中,我需要使用縮進。 因此,如果該框沒有文本,那么縮進工作正常但是如果已經有文本或者您已經輸入了一些東西但是現在您想要添加縮進,那么縮進不起作用我的意思是它將轉到最后一行。

這是實時鏈接:

http://amarcourse.com/try-it-editor/input.html

這是我用於縮進的JS代碼:

<script type="text/javascript">
    var myInput = document.getElementById("code");
    if(myInput.addEventListener ) {
        myInput.addEventListener('keydown',this.keyHandler,false);
    } else if(myInput.attachEvent ) {
        myInput.attachEvent('onkeydown',this.keyHandler); /* damn IE hack */
    }

    function keyHandler(e) {
        var TABKEY = 9;
        if(e.keyCode == TABKEY) {
            this.value += "    ";
            if(e.preventDefault) {
                e.preventDefault();
            }
            return false;
        }
    }
</script>

 var myInput = document.getElementById("code"); if (myInput.addEventListener) { myInput.addEventListener('keydown', this.keyHandler, false); } else if (myInput.attachEvent) { myInput.attachEvent('onkeydown', this.keyHandler); } function keyHandler(e) { var TABKEY = 9; var TABVAL = " "; if (e.keyCode == TABKEY) { if (document.selection) { myInput.focus(); sel = document.selection.createRange(); sel.text = TABVAL; } else if (myInput.selectionStart || myInput.selectionStart == '0') { var startPos = myInput.selectionStart; var endPos = myInput.selectionEnd; myInput.value = myInput.value.substring(0, startPos) + TABVAL + myInput.value.substring(endPos, myInput.value.length); myInput.selectionStart = startPos + TABVAL.length; myInput.selectionEnd = startPos + TABVAL.length; } else { myInput.value += TABVAL; } if (e.preventDefault) { e.preventDefault(); } return false; } } 
 <textarea id="code" placeholder="type something with tabs!"></textarea> 

您需要在當前位置插入字符串。 答案基於這一個

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM