Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/72.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何调用JS函数_Javascript_Html - Fatal编程技术网

Javascript 如何调用JS函数

Javascript 如何调用JS函数,javascript,html,Javascript,Html,我不知道如何重写这段代码。 我有一个简单的代码,其中包含html代码中的JS代码(onkeydownevent) 我想把JS代码放到ExternJS文件中,只调用方法。但我不知道怎么做。你能告诉我怎么做吗 代码是: <textarea onkeydown="if(event.keyCode===9){var v=this.value,s=this.selectionStart,e=this.selectionEnd;this.value=v.substring(0, s)+'\t'+v.s

我不知道如何重写这段代码。 我有一个简单的代码,其中包含html代码中的JS代码(
onkeydown
event)

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

代码是:

<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>

谢谢。


<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>    
//在一个新的js文件中 函数onKeyDown(事件){ 如果(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; 返回false;} } var textarea=document.getElementById('textarea'); textarea.addEventListener('keydown',onKeyDown.bind(textarea));
您可以使用

<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>

函数myFunc(事件){
if(event.keyCode==9){
var v=this.value,s=this.selectionStart,e=this.selectionEnd;
该.value=v.substring(0,s)+'\t'+v.substring(e);
this.selectionStart=this.selectionEnd=s+1;
返回false;
}
}
和一个带有

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

也可以看看这个链接


希望能有所帮助。

将JS代码外部化

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

<script>
document.getElementById("mytext").onkeydown = function(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;
}
//You're function here
}
</script>

document.getElementById(“mytext”).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;
返回false;
}
//你在这里
}
HTML


谢谢您的回复,我测试了您的代码,但它不起作用。在<代码> OnKeKEnter(事件)< /代码>中,什么并不意味着<代码>事件/代码>?只是由于AdvestListNever,这一点在IE8上不起作用,考虑添加AtjCype事件的检查,或者添加一个PultFube或者使用jQuery。在这两个案例中,您都使用了错误的“YouTube”,只是一个提示。可能需要编辑它们。
 <textarea id="mytest"></textarea>
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;
        }
}