Беда с кнопками в IE
Это эпиграф.
Чёрт возьми, ну почему на исправление корявостей во всех браузерах кроме IE уходит в совокупности меньше времени, чем на один только пресловутый IE? Вредительство какое-то!
© Л.И.Брежнев
Сейчас столкнулся с пренеприятнейшей забавой этого микростуффового Голиафа: при нажатии на Enter он находит первую попавшуюся по списку кнопку (button), и отрабатывает её. И наплевать ему, что я работаю в таблице (грид, решётка), в которой сидят input'ы типа text, которым прилеплено действие по нажатию Enter. он сначала выполняет то что я хочу, а потом всё равно нажимает кнопку.
Что делать? Доколе? Когда перестанут быть дураки на дорогах? и ещё дюжина традиционных российских вопросов.
Это предисловие
Сперва воспользуйся поиском в интернете, потом спрашивай у людей банальные вещи
Франклин Рузвельдт
Если уж спрашиваешь кого-то, не начинай разговор с родословной Иисуса, пиши сразу по делу
Усама бен Мухаммад бен Авад бен Ладен
Указание имени известного человека под выдуманной фразой, не делает её смешнее или актуальнее
Юрий Никулин
Для нормальных браузеров event.preventDefault(), для IE это window.event.returnValue=false
Что делать? Доколе люди будут пытаться программировать, не читая документации? У нас проложили новую дорогу к приезду путина, когда же возьмутся за вторую беду?
Решение банально:
<form onsubmit="return false;" ...>
...
</form>
Пояснение. Дефолтове действие по нажатию Энтера на любом input в форме (кроме textarea, про другие не знаю) - это отправка формы серверу, т.е действие submit ...
Я вижу проблему так, по крайней мере...
Это предисловие
Сумничал?
Ты вопрос-то читал, прежде чем меня учить курить документации?
Ещё раз прочитай, а потом войди снова и ответь на поставленный вопрос.
Решение банально:
<form onsubmit="return false;" ...>
...
</form>
Пояснение. Дефолтове действие по нажатию Энтера на любом input в форме (кроме textarea, про другие не знаю) - это отправка формы серверу, т.е действие submit ...
Я вижу проблему так, по крайней мере...
Во всей body нет ни одного form.
P.S. Вы меня за лоха что-ли тут все держите?
Ведь написано чёрным по серому: проблема с поведением IE.
У меня нет проблем с кнопками. Чтобы не мучаться я просто заменил их на A, потом просто сделал UL с кнопками LI и это даже IE не победит.
Но вопрос-то был о сумасшествии IE, не более того. А вы меня тут все кинулись учить читать мануалы.
повесь чтоли на все батоны перехватчик нажатия клавиш, и отсеюй нафиг в нужном случае.
Если IE сумасшедший, отправь его в карантин. С сумасшедшими не пристало разговаривать на нормальном языке.
P.S. Вы меня за лоха что-ли тут все держите?
А ты что тут всех за гипнотизеров держишь?
Код в студию.
Код в студию.
:D
ЗЫ Кстати что именно происходит когда нажимается кнопка? почему это так критично? и какой ИЕ? 8? 9?
ЗЫ Кстати что именно происходит когда нажимается кнопка? почему это так критично? и какой ИЕ? 8? 9?
IE8. Вобщем, на INPUT стоит обработчик, который по mousedown ENTER сохраняет value и переходит на следующий INPUT. Всё так и происходит, Только потом он находит первый попавшийся button и "нажимает" его.
P.S. С IE9 вообще беда бедовая! Там видимо с CSS совсем плохо: float чудовищно себя ведёт, z-index со странностями… Это я случайно вчера узнал, зайдя к шефу, а у него Win7 и IE9. Он Win7 использует из-за удобной экранной лупы только. Мда, теперь я прямо руками развожу в незнании что делать. Придётся себе Win7 ставить с IE9 и экспериментировать на ём, раз уж такое грубое поведение у этого браузера.
Придётся себе Win7 ставить с IE9 и экспериментировать на ём, раз уж такое грубое поведение у этого браузера.
Потому что нужно читать учебники по кроссбраузерному HTML и CSS коду.
Вот и займитесь чтением, раз вы не знаете кто такой mfender что даете ему банальные советы, как какому-нибудь ламеру или нубу.
Теперь мне больше понятно. Не берусь утверждать, но моя теория такова, что ИЕ в DOM превращает <button> в обычный input. И следовательно поскольку сохраняет value и переходит на следующий INPUT, то для ИЕ нет разницы между <input type="button"> и <button>. Следовательно решение может быть таким - всем инпутам, на которые должен переходить фокус задать class, по которому и проводить поиск.
Теперь мне больше понятно. Не берусь утверждать, но моя теория такова, что ИЕ в DOM превращает <button> в обычный input. И следовательно поскольку сохраняет value и переходит на следующий INPUT, то для ИЕ нет разницы между <input type="button"> и <button>. Следовательно решение может быть таким - всем инпутам, на которые должен переходить фокус задать class, по которому и проводить поиск.
Собственно, так я и сделал. Принципиальной разницы нет, что там будет. Я сделал <a role='button'></a>, и соответствующим образом разрисовал её поведение. IE её самопроизвольно не нажимает ))))
и что эти умные учебники говорят про float конкретно в IE9? наверное советуют не мучиться с блоками, а тупо запихивать всё в таблицы?