按下Enter键时使div出现

时间:2019-08-17 19:43:27

标签: javascript html button keyboard

我有一个输入,用户可以在其中输入文本,当用户在键盘上按Enter时,它将单击“开始!”按钮。然后应显示“创建Div”按钮。当用户单击“创建Div”按钮时,将使用用户输入的文本创建一个div。但是我希望在用户按下Enter键时也单击此按钮。因此,当用户第一次按下“ Enter”时,它将单击“ Go!”。按钮,将显示“创建Div”按钮,然后当用户第二次按“ Enter”键时(或最好在屏幕上显示“ Create Div”按钮时),则将在用户输入的情况下创建实际的div文本。 我尝试使用IF语句在Javascript中执行此操作,但是现在当我第一次按下“ Enter”触发“ Go!”时按钮,它会自动触发“创建Div”按钮,并且在按下第一个“ Enter”键后立即显示div(取消注释我的JS代码的最后一位,以了解我的意思),我应该进行哪些更改才能获得所需的结果?

var button = document.getElementById("button");
var createbutton = document.createElement("button");
var creatediv = document.createElement("div");

button.addEventListener('click', function(){
createbutton.innerHTML = "Create Div";
createbutton.style.display = 'inline-block';
document.getElementById("body").appendChild(createbutton);
});

createbutton.addEventListener('click', function(){
createbutton.style.display = 'none';
var input = document.getElementById("input").value;
creatediv.innerHTML = input;
document.getElementById("body").appendChild(creatediv);
});

document.onkeydown = function(event){
if(event.keyCode == 13){
button.click();
}
}

/*if(createbutton.style.display = 'inline-block'){
document.onkeydown = function(event){
if(event.keyCode == 13){
createbutton.click();
}
}
}*/





 
<body id="body">
<input type="text" id="input" placeholder="Text goes here">
<button id="button">Go!</button>
</body>

1 个答案:

答案 0 :(得分:0)

您可以提供您的ValueError: indices.shape[-1] must be <= params.rank, but saw indices shape: [?,5] and params shape: [?,85,1500] for 'encoder/GatherNd' (op: 'GatherNd') with input shapes: [?,85,1500], [?,5]. 和ID,并检查该元素是否在DOM内 按下Enter键时:

createbutton
var button = document.getElementById("button");
var createbutton = document.createElement("button");
var creatediv = document.createElement("div");

button.addEventListener('click', function(){
    createbutton.innerHTML = "Create Div";
    createbutton.style.display = 'inline-block';
    createbutton.id = 'createButton';
    document.getElementById("body").appendChild(createbutton);
});

createbutton.addEventListener('click', function(){
    createbutton.style.display = 'none';
    var input = document.getElementById("input").value;
    creatediv.innerHTML = input;
    document.getElementById("body").appendChild(creatediv);
});

document.onkeydown = function(event){
    if(event.keyCode === 13) {
        if(document.getElementById('createButton')) {
            createbutton.click();
        } else {
            button.click();
        }
    }
}