我不知道如何重写这段代码。
我有简单的代码,其中包含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>
谢谢。
答案 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;
}
}