输入值由于输入font size=“”而返回空字符串;0〃;
Input value returns an empty string due to input font-size="0"
我发现了一个困扰我几个星期的问题。我正在使用jQuery来检索输入文本。用户输入一些字符并点击ENTER,然后我在控制台中打印文本。
html:
<input id="abc" type="text" autofocus style="font-size:0;">
jQuery:
$(document).on('keypress', '#abc', function(e) {
if (e.which!=13) {
return;
}
console.log('Entered: ' + $('#abc').val());
$('#abc').val('');
});
如果我使用Firefox,一切都很好。但是,如果我使用Chrome或Opera,它们将返回一个空字符串。
我终于发现问题来自font-size="0"
(我想隐藏输入)。如果该值不是0,Chrome和Opera将不会遇到拾取输入文本的问题。
问题:
为什么?
如何隐藏
<input>
元素,并且它仍然可以接受用户输入?
要回答第二个问题,可以使用CSS样式,如文本缩进。文本将隐藏在屏幕外,您仍然可以获得值。
<input id="abc" type="text" autofocus style="text-indent:-9999em;">
我相信还有其他方法可以实现这一点。。。比如将输入定位在屏幕外
<input id="abc" type="text" autofocus style="position:absolute; left:-9999em; top:-9999em">
但你的项目似乎很具体。
相关文章:
- javascript函数,它接受两个输入:一个对象和一个键,并返回对象中该键的相应值
- 为更改的输入返回插入符号位置的逻辑
- 防止空输入返回undind,而是返回一个空字符串
- JS得到一个未被关注的'输入/返回'按下回车键时
- 为什么我的正则表达式没有为我的文本输入返回正确的值
- indexof 为相同的输入返回 -1 和 7
- 停止输入/返回键提交表单
- 根据用户输入返回值
- 输入/返回按钮未在IE中提交表单
- 将输入返回到段落
- JavaScript:如何通过按下“”来突出显示文本;输入/返回”;
- Javascript:如何实现;输入/返回键”;以保存值
- Javascript函数,根据输入返回两种不同类型的变量
- 创建一个函数,该函数接受一个对象和一个键作为输入-返回对象中键的值
- Javascript's Date函数总是以不同的Json字符串作为输入返回当前时间
- 提前输入:返回具有多个数据的JSON数组
- 按钮只适用于点击,而不是输入/返回
- 在AngularJS中输入返回数字而不是字符串
- 计算器的一个输入返回3
- 从移动 Safari 日期输入返回的对象类型