如何调用JS函数

时间:2015-10-27 12:48:24

标签: javascript html

我不知道如何重写这段代码。 我有简单的代码,其中包含HTML代码(onkeydown事件)中的JS代码。

我想把JS代码放到extern JS文件中,只调用方法。但我不知道怎么做。你能告诉我怎么样吗?

代码是:

<textarea onkeydown="if(event.keyCode===9){var v=this.value,s=this.selectionStart,e=this.selectionEnd;this.value=v.substring(0, s)+'\t'+v.substring(e);this.selectionStart=this.selectionEnd=s+1;return false;}">
</textarea>

谢谢。

4 个答案:

答案 0 :(得分:0)

<script>
// in a new js-file
function onKeyDown(event) {
      if(event.keyCode===9){var v=this.value,s=this.selectionStart,e=this.selectionEnd;this.value=v.substring(0, s)+'\t'+v.substring(e);this.selectionStart=this.selectionEnd=s+1;
      return false;}
}

var textarea = document.getElementById('textarea');
textarea.addEventListener('keydown', onKeyDown.bind(textarea));
</script>

<textarea id="textarea"></textarea>    

答案 1 :(得分:0)

您可以使用

创建文件myscripts.js
<script>
    function myFunc(event) {
        if(event.keyCode===9){
            var v=this.value,s=this.selectionStart,e=this.selectionEnd;
            this.value=v.substring(0, s)+'\t'+v.substring(e);
            this.selectionStart=this.selectionEnd=s+1;
            return false;
        }
    }
<script>

带有

的html文件
<script src="myscripts.js"></script>
<textarea onkeydown="myFunc(event)"></textarea>

另请查看此链接How to use keydown event in textarea?

希望有所帮助。

答案 2 :(得分:0)

Hum将您的JS代码外部化。

^[-+]?(?:[0-9]+,)*[0-9]+(?:\.[0-9]+)?$

答案 3 :(得分:0)

HTML

 <textarea id="mytest"></textarea>

JS

document.getElementById("mytest").onkeydown = function (event){
            alert("keydown");
            if(event.keyCode===9){
                var v=this.value,
                    s=this.selectionStart,
                    e=this.selectionEnd;
                    this.value=v.substring(0, s)+'\t'+v.substrin(e);
                this.selectionStart=this.selectionEnd=s+1;      
                return false;
        }
}

JSFiddle