首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >文本框中没有按钮。如果您键入一些字母并按下“Enter”,则在“1秒警报”对话框之后使用文本框中的文本。

文本框中没有按钮。如果您键入一些字母并按下“Enter”,则在“1秒警报”对话框之后使用文本框中的文本。
EN

Stack Overflow用户
提问于 2020-05-05 18:50:12
回答 2查看 573关注 0票数 0

我想制作一个没有按钮的文本框的网页。如果我键入了两个字母并按下“Enter”按钮,则在1秒警报对话框之后从文本框中输入文本。所有操作都是正确的,只有aler对话框没有在输入后出现,而是在鼠标单击之后出现。

代码语言:javascript
运行
复制
<!Doctype HTML!>
<html>
<head>
  <meta charset="utf-8">
  <head>6-4</head>
  <script>
 
var keyCode = '';
var naam = '';

window.onload = function () {
  
  var divResult = document.getElementById('divResult');
  
  document.getElementById('txtInput').addEventListener('blur', function () {
    naam = document.getElementById('txtInput').value;
    
    document.getElementById('txtInput').onkeyup = function (e) {
      keyCode = e.keyCode;
      if (keyCode === 13) {
      }
    };
    setTimeout("alert(naam);", 1000);
  }, false);
};
function stopAlerts() {
  clearInterval(txtNaam);
}
  
  </script>
</head>
<body>
  <h2>Type some letters in text box and push 'Enter'</h2>
  <input type="text" id="txtInput" value="" />
  <div id="divResult"></div>
</body>
</html>

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2020-05-05 18:54:26

只需在文本框keydown上设置一个事件,然后将计时器移动到if语句的true块中。

备注:

  • ,你的目标是错的。如果要使

文档有效,则必须在head部分添加一个非空的title元素。如果您希望文本框为空,则不需要将value="".

  • Passing a string of JavaScript to setTimeout() is not advised.传递为executed.
  • Instead函数,将您的script放置在head中,然后为在DOM准备就绪时应该自动运行的代码设置window.onload事件处理程序,将script移动到关闭的body标记之前,删除< code >D26事件处理程序,只执行您想要运行的代码。H 227H 128也是,不需要扫描该元素的事件处理程序中的textbox元素。您只需使用e.target.
  • Don't use self-terminating tags.
  • Using访问处理程序中的textbox -- h2,而不具有h1 --在语义上是不正确的,并且会给那些依赖辅助技术的人带来问题。不要使用HTML元素,因为默认情况下浏览器的样式是这样的。样式设计是CSS的工作。如果您想要一些大的、粗体的文本,并且不开始新的部分,请远离标题元素,只需对文本进行样式设置。

代码语言:javascript
运行
复制
<!doctype HTML>
<html>
<head>
  <meta charset="utf-8">
  <title>6-4</title>
  <style>
    h1 { font-size:1.1em; }
  </style>
</head>
<body>
  <h1>Type some letters in text box and push 'Enter'</h1>
  <input type="text" id="txtInput">
  <div id="divResult"></div>
  
  <script>
    var divResult = document.getElementById('divResult');
    document.getElementById('txtInput').addEventListener('keydown', function (e) {
      if (e.key === "Enter") {
          setTimeout(function(){ alert(e.target.value); }, 1000);
      }
    }, false);
  </script>
</body>
</html>

票数 1
EN

Stack Overflow用户

发布于 2020-05-06 14:31:25

这使用Jquery来检测按下的enter键。

备注:

  • <input>不需要/,因为它是一个自结束标记。有关这方面的更多信息,请参见Are (non-void) self-closing tags valid in HTML5?.
  • You不能嵌套2 <head>标记。它必须是<title>.
  • <!Doctype html>,在<.
  • If只能有一个!,您希望它只在文本框中发出警报,更改

代码语言:javascript
运行
复制
$(document).on('keydown',function(event) {
   var keycode = (event.keyCode ? event.keyCode : event.which);
   if (keycode == '13') {
      alert(document.getElementById("txtInput").value);
   }
});

代码语言:javascript
运行
复制
$(document).on('keydown',function(event) {
   var keycode = (event.keyCode ? event.keyCode : event.which);
   if (keycode == '13') {
      alert(document.getElementById("txtInput").value);
    }
});

代码语言:javascript
运行
复制
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<!Doctype Html>
<html>

<head>
  <meta charset="utf-8">
  <style>
    h1 {
      font-size: 1.1em;
    }
  </style>
  <title>6-4</title>
  <script>
    $(document).on('keydown', function(event) {
      var keycode = (event.keyCode ? event.keyCode : event.which);
      if (keycode == '13') {
        alert(document.getElementById("txtInput").value);
      }
    });
  </script>
</head>

<body>
  <h1>Type some letters in text box and push 'Enter'</h1>
  <input type="text" id="txtInput">
  <div id="divResult"></div>
</body>

</html>

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61620741

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档