Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/425.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函数/事件侦听器无法正常运行_Javascript_Function_Events_Event Handling_Addeventlistener - Fatal编程技术网

JavaScript函数/事件侦听器无法正常运行

JavaScript函数/事件侦听器无法正常运行,javascript,function,events,event-handling,addeventlistener,Javascript,Function,Events,Event Handling,Addeventlistener,我对JavaScript完全陌生,不知道为什么它不起作用。当我单击输入框并键入少于5个字符时,我希望显示一条消息。信息根本没有显示出来。源代码: 试验 函数checkUserName(e,minLength){ var username=document.getElementById(“输入”); var usernameLength=username.textContent; if(usernameLength.value.length

我对JavaScript完全陌生,不知道为什么它不起作用。当我单击输入框并键入少于5个字符时,我希望显示一条消息。信息根本没有显示出来。源代码:


试验
函数checkUserName(e,minLength){
var username=document.getElementById(“输入”);
var usernameLength=username.textContent;
if(usernameLength.value.length<5){
msg=“您的用户名必须至少包含五个字符。”
};
否则{
msg=“”;
text.innerHTML=msg
};
}
var text=document.getElementById(“text”);
addEventListener(“blur”,函数(e){checkUserName(e,5)},false)

您的代码存在一些问题:

  • 您需要将事件附加到
    #input
    ,而不是
    div#text
  • 您需要读取
    #input
    的值,而不是
    textcontent
  • after是错误的,因为then-else将给出语法错误
  • 
    试验
    函数checkUserName(e,minLength){
    var username=document.getElementById(“输入”);
    var usernameLength=username.value;
    if(usernameLength.length<5){
    msg=“您的用户名必须至少包含五个字符。”;
    text.innerHTML=msg;
    }否则{
    msg=“”;
    text.innerHTML=msg;
    };
    }
    var text=document.getElementById(“text”);
    document.getElementById('input').addEventListener(“blur”,函数(e){checkUserName(e,5);},false)
    
    它应该是您必须放置模糊事件侦听器的输入

    var input = document.getElementById("input");
    

    由于在函数外部不使用
    文本
    ,最好在函数内部定义它。

    对于
    输入
    元素,您应该读取
    属性,而不是
    文本内容
    。还要注意的是,
    input
    是一个无效元素,它没有结束标记。谢谢,但即使我将textContent更改为value,它也不起作用。为什么要收听
    div
    元素的
    blur
    事件?您应该收听输入的
    keyup
    事件。谢谢,这解决了它!显然,我不能在7分钟内接受答案,但一旦可以,我会接受的。再次感谢:)