为什么我的javascript在这里需要大约5次点击才能运行呢?

为什么我的javascript在这里需要大约5次点击才能运行呢?,javascript,Javascript,我在登录页上有一个提交按钮。但是,每当人们第一次点击登录页时,它就不起作用了。 onclick需要2-5次点击才能正常工作???每当我点击按钮,前几次都不起作用,直到之后 var subscribe = function(email) { var es = document.getElementsByClassName("email-submit"); var fb = document.getElementsByClassName("floatingBarsG");

我在登录页上有一个提交按钮。但是,每当人们第一次点击登录页时,它就不起作用了。 onclick需要2-5次点击才能正常工作???每当我点击按钮,前几次都不起作用,直到之后

 var subscribe = function(email) {

    var es = document.getElementsByClassName("email-submit");
    var fb = document.getElementsByClassName("floatingBarsG");
    var ea = document.getElementsByClassName("email-text");
    var et = document.getElementsByClassName("email-thanks");


    if (email=="" || !/[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?/.test(email)) /* ' */ {


        ea[0].style.backgroundColor = "#f4bfbf";
        setTimeout(function() {ea[0].style.backgroundColor = "#fff";}, 250);

        return;
    }
    if (window.XMLHttpRequest) {
        xmlhttp=new XMLHttpRequest();
    }
    else {
        xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
    }
    xmlhttp.onreadystatechange=function()
    {
        if (xmlhttp.readyState==4 && xmlhttp.status==200)
        {
            $(".cta").load("step2.html");
            $(".cta-email").html("<h1>Thank You for Signing Up!</h1>");
        }

    }
    var params = "email="+email;
    xmlhttp.open("POST","s",true);
    xmlhttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
    xmlhttp.send(params);
}

//capture events

var init = function() {
    document.getElementsByClassName("email-submit")[0].onclick = function(e) {
        e.preventDefault();
        subscribe(e.target.parentNode.parentNode.getElementsByClassName("email-text")[0].value);
    }

    document.getElementsByClassName("email-text")[0].onkeypress = function(e) {
       if(e.keyCode == 13) {
            e.preventDefault();
            subscribe(e.target.value);
        }
    }

}
if(window.addEventListener){
    window.addEventListener('load',init,false);
} else {
    window.attachEvent('onload',init);
}
var subscribe=函数(电子邮件){
var es=document.getElementsByClassName(“电子邮件提交”);
var fb=document.getElementsByClassName(“floatingBarsG”);
var ea=document.getElementsByClassName(“电子邮件文本”);
var et=document.getElementsByClassName(“电子邮件谢谢”);
如果(电子邮件=“| |!/[a-z0-9!#$%”和“*+/=?”{{124;}-]+(?:\.[a-z0-9!{124;$%&'*+/=?”{a-z0-9-)*((?:[a-z0-9-]*[a-z0-9-]+[a-z0-9])+[a-z0-9](?:[a-z0-9-]/]{
ea[0].style.backgroundColor=“#f4bff”;
setTimeout(函数(){ea[0].style.backgroundColor=“#fff”;},250);
返回;
}
if(window.XMLHttpRequest){
xmlhttp=新的XMLHttpRequest();
}
否则{
xmlhttp=新的ActiveXObject(“Microsoft.xmlhttp”);
}
xmlhttp.onreadystatechange=函数()
{
if(xmlhttp.readyState==4&&xmlhttp.status==200)
{
$(“.cta”).load(“step2.html”);
$(“.cta email”).html(“感谢您的注册!”);
}
}
var params=“email=”+email;
open(“POST”,“s”,true);
setRequestHeader(“内容类型”,“应用程序/x-www-form-urlencoded”);
xmlhttp.send(params);
}
//捕捉事件
var init=函数(){
document.getElementsByClassName(“电子邮件提交”)[0].onclick=function(e){
e、 预防默认值();
订阅(e.target.parentNode.parentNode.getElementsByClassName(“电子邮件文本”)[0]。值);
}
document.getElementsByClassName(“电子邮件文本”)[0]。onkeypress=函数(e){
如果(e.keyCode==13){
e、 预防默认值();
认购(即目标价值);
}
}
}
if(window.addEventListener){
addEventListener('load',init,false);
}否则{
window.attachEvent('onload',init);
}

定义“不工作”。你的点击处理程序从一开始就启动了吗?或者,您的
subscribe
方法中存在一些不起作用的内容。如果是这样的话,请准确地定义它不起作用的内容。onkeypress键代码13“enter”在表单字段中立即起作用,但用户似乎必须单击按钮右上角才能起作用。立即注册`