我有以下代码来创建自动调整大小的文本输入:
// setup quick jump input
$("#goto").keydown(function(e){
var size = $(this).val().length;
// sanity
if ( size < 1 ) {
size = 1;
}
$(this).attr("size",size);
// if enter then GOTO->
if ( e.keyCode == 13 ) {
window.location.href = "/" + $(this).val();
}
});
HTML:
<input type="text" id="goto" size="1" name="goto" />
问题: 调整输入大小在 Safari 或 Chrome 中不起作用,仅在 Firefox 和 Opera 中起作用。我正在使用 jquery 1.3.2,想知道这是否是 jquery 或我的实现中的错误。
编辑:抱歉,我一开始还不够清楚 - 这是我试图动态更新输入大小的部分,但它被破坏了。我的错。感谢您迄今为止的反馈,其中有一些非常有用的链接。
最佳答案
我怀疑 size 属性是否可以跨浏览器工作。我会转而设置输入字段的 maxlength 和 css 宽度,而不是更改 size 属性。
看起来像是 webkit 中的错误/不受支持的功能。 Safari/Chrome 共享哪个。
关于javascript - Safari 和 Chrome : problem editing input 'size' attribute on the fly,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/794499/