Javascript 在输入文本时,如何使方框显示?

Javascript 在输入文本时,如何使方框显示?,javascript,html,css,input,Javascript,Html,Css,Input,请查看此JSFIDLE链接: 正如你所看到的那样 输入字段 & 盒子 我希望该框仅在输入中键入文本时显示 这是怎么做到的 谢谢 James使用jQuery时会出现类似的情况: $("#id-of-input").change(function() { $("#id-of-box"}.css('display', 'block'); } ); 或更改。更改为。使用jQuery单击类似以下内容: $("#id-of-input").change(function() { $("#id-of-bo

请查看此JSFIDLE链接:

正如你所看到的那样

输入字段 & 盒子

我希望该框仅在输入中键入文本时显示

这是怎么做到的

谢谢


James

使用jQuery时会出现类似的情况:

$("#id-of-input").change(function() { $("#id-of-box"}.css('display', 'block'); } );

或更改。更改为。使用jQuery单击类似以下内容:

$("#id-of-input").change(function() { $("#id-of-box"}.css('display', 'block'); } );

或更改。更改为。单击

以显示:无开始框。然后,您可以捕获输入的
按键
事件:

document.getElementById('myInput').onkeypress = function () {
  document.getElementById('myBox').style.display = 'block';
}

显示:无
启动该框。然后,您可以捕获输入的
按键
事件:

document.getElementById('myInput').onkeypress = function () {
  document.getElementById('myBox').style.display = 'block';
}
绑定到“change”通常不是非常方便,因为它通常只有在您用tab键或单击远离元素时才会启动

然而,投票也不是答案

原始答复:

超级棒的新答案:

设置超时是因为剪切和粘贴事件在剪切或粘贴文本之前触发。

绑定到“更改”通常不是非常方便,因为它通常在您从元素上单击或单击之前不会触发

然而,投票也不是答案

原始答复:

超级棒的新答案:


setTimeout是因为剪切和粘贴事件在剪切或粘贴文本之前触发。

如果我知道我不会要求的话。我需要什么来帮助我呢?可能类似于
onkeyup=“document.getElementById('box').css.visibility=(this.value.length>0)?“none”:“block”
在输入字段上。如果我知道我不会问。我需要什么来帮助我呢?可能类似于
onkeyup=”document.getElementById('box').css.visibility=(this.value.length>0)?'none':“block”
在输入字段上。签出:我使用了您的帮助,但仍然不起作用。我用对了吗?那是因为你的
id
s不匹配(HTML和JavaScript)。我帮你修好了。检查:我用了你的帮助,但还是没用。我用对了吗?那是因为你的
id
s不匹配(HTML和JavaScript)。我帮你修好了,谢谢!它在JSFIDLE中工作得很好,但当我在代码和浏览器中使用它时,它就不起作用了。我正在使用最新版本的chrome和safari。这是为什么?如果他使用jQuery,您的轮询函数也使用jQuery,那么大多数键和鼠标事件都得到了很好的规范化。我会毫不犹豫地亲自使用它们;我并不打算不相信您,但我想知道哪些可重复的情况(使用jQuery)会将键/鼠标事件暴露为不可靠的?James-除了JSFIDLE之外,它不适用于您的两个最可能的原因:1。在尝试运行此代码之前,没有jquery源代码。2.格雷格:是的,实际上只是“更改”是愚蠢的——通常在表单控件失去焦点(即,单击或关闭它)后才会触发。谢谢!它在JSFIDLE中工作得很好,但当我在代码和浏览器中使用它时,它就不起作用了。我正在使用最新版本的chrome和safari。这是为什么?如果他使用jQuery,您的轮询函数也使用jQuery,那么大多数键和鼠标事件都得到了很好的规范化。我会毫不犹豫地亲自使用它们;我并不打算不相信您,但我想知道哪些可重复的情况(使用jQuery)会将键/鼠标事件暴露为不可靠的?James-除了JSFIDLE之外,它不适用于您的两个最可能的原因:1。在尝试运行此代码之前,没有jquery源代码。2.格雷格:是的,实际上只是“更改”是愚蠢的——通常在表单控件失去焦点(即单击或关闭它)后才会触发。