Safari и Chrome: проблема с редактированием входного атрибута «размер» на лету - PullRequest
2 голосов
/ 27 апреля 2009

У меня есть следующий бит кода для автоматического ввода текста с измененным размером:

// 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 или моя реализация.

РЕДАКТИРОВАТЬ: извините, я не был достаточно ясен сначала - это та часть, где я пытаюсь обновить размер ввода на лету, что не работает Виноват. Спасибо за отзывы, некоторые очень полезные ссылки там.

Ответы [ 4 ]

3 голосов
/ 28 апреля 2009

Я сомневаюсь, что атрибут size будет работать в разных браузерах. Я бы переключился на установку максимальной длины и ширины CSS поля ввода, а не на изменение атрибута размера.

Похоже на ошибку / неподдерживаемую функцию в webkit. Каким Safari / Chrome поделиться.

1 голос
/ 08 января 2010

Safari и Chrome не уважают некоторые атрибуты. Но вы можете установить его через элемент CSS. Работает хорошо.

$(this).css("width","4em");

Например, я заметил, что атрибут onClick не работает в Chrome, когда набирается onclick .

1 голос
/ 27 апреля 2009

Проблема, похоже, заключается в установке атрибута размера. Эта строка:

$(this).attr("size",size);
1 голос
/ 27 апреля 2009

Согласно документации jQuery на keydown():

// Different browsers provide different codes
// see here for details: http://unixpapa.com/js/key.html    
// ...

Вы проверили страницу, на которую ссылается , чтобы увидеть, имеют ли Safari / Chrome / Webkit разные значения для клавиши Enter?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...