javascript - Safari 和 Chrome : problem editing input 'size' attribute on the fly

标签 javascript jquery safari google-chrome

我有以下代码来创建自动调整大小的文本输入:

// 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/

相关文章:

javascript - YouTube视频结束时隐藏Div

javascript - 格式化多结果单个 Json 值

javascript - 当我通过 onchange 事件选择时,我可以使用函数外部的变量吗

javascript - GOJS 将 Canvas 图导出为图像

android - WebRTC 无法将 Safari 与 Chrome for Android 连接

javascript - 未捕获类型错误 : Cannot read property 'label' of undefined Morris. js

javascript - 有没有办法将 CSS 转换应用于在 mousemove 上进行 CSS 转换的元素内的元素?

jquery - VideoJS : . flv 无法在 IE 中播放

javascript - 在 Safari (Windows) 中使用 html5/js 音频时出现问题

selenium - 如何在 Safari (MAC) 的 webdriver 中上传文件