请查看此jsfiddle链接:
正如你所看到的那样
INPUT FIELD &安培; BOX
我希望只有在输入中输入文字时才会出现该框。
这是怎么做到的?
谢谢!
詹姆斯
答案 0 :(得分:2)
使用display: none
启动此框。然后,您可以捕获输入的keypress
事件:
document.getElementById('myInput').onkeypress = function () {
document.getElementById('myBox').style.display = 'block';
}
答案 1 :(得分:1)
使用jQuery这样的东西:
$("#id-of-input").change(function() { $("#id-of-box"}.css('display', 'block'); } );
或将.change更改为.click
答案 2 :(得分:1)
绑定到“更改”通常不是非常方便,因为它通常不会触发,直到您选中或单击远离元素。
然而,民意调查也不是答案。
原始答案: http://jsfiddle.net/xNEZH/2/
超级奇妙的新答案: http://jsfiddle.net/4MhKU/1/
$('.input1').bind('mouseup keyup change cut paste', function(){
setTimeout(function(){
var hasInput = $('.input1').val() != "";
$('.box')[hasInput ? 'show' : 'hide']();
}, 20);
});
setTimeout是因为剪切或粘贴事件在文本被剪切或粘贴之前触发。