Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #11 (permalink)  
Старый 06.02.2013, 21:24
без статуса
Отправить личное сообщение для Deff Посмотреть профиль Найти все сообщения от Deff
 
Регистрация: 25.05.2012
Сообщений: 8,219

danik.js,
В хроме ксать глюк с <button - не отрабатывает события focus и т.д - кроме клика
Ответить с цитированием
  #12 (permalink)  
Старый 06.02.2013, 21:55
Аватар для danik.js
Профессор
Отправить личное сообщение для danik.js Посмотреть профиль Найти все сообщения от danik.js
 
Регистрация: 11.09.2010
Сообщений: 8,804

Deff, с сылками тоже самое. Не уверен что это глюк.
Ответить с цитированием
  #13 (permalink)  
Старый 07.02.2013, 11:07
Новичок на форуме
Отправить личное сообщение для rebeled Посмотреть профиль Найти все сообщения от rebeled
 
Регистрация: 06.02.2013
Сообщений: 7

Сообщение от danik.js Посмотреть сообщение
Еще раз: по Enter происходит отправка формы. И это прекрасно.
Если у вас срабатывают кнопки, которые по идее не должны ничего сабмитить, так не делайте их сабмиттерами (type="button"). Если же это сабмиттеры, но вам нужно реагировать на клик по ним, думаю отличить клик мыши от программного несложно.
У меня на форме много кнопок, в том числе и те которые должны сабмитить, но не всю форму, а посылать ajax. они тоже должны быть типа submit. В этом и проблема, по Enter срабатывает не та кнопка, которую ожидает пользователь, а верхняя. Скажем вводит пользователь информацию, жмёт Ентер, а вместо кнопки ОК срабатывает кнопка из верхнего меню Назад. Юзер в ярости, програмист в...
Выход понятен, разносить кнопки по разным формам или заменять кнопки на ссылки, но мне было бы удобнее, если бы этот эффект можно было б просто отключить.

Последний раз редактировалось rebeled, 07.02.2013 в 11:11.
Ответить с цитированием
  #14 (permalink)  
Старый 07.02.2013, 12:29
без статуса
Отправить личное сообщение для Deff Посмотреть профиль Найти все сообщения от Deff
 
Регистрация: 25.05.2012
Сообщений: 8,219

Сообщение от rebeled
они тоже должны быть типа submit.
Нафига ? - добавьте им класс submit и анализируйте клик по кнопкам с данным классом
Ответить с цитированием
  #15 (permalink)  
Старый 07.02.2013, 12:51
Новичок на форуме
Отправить личное сообщение для rebeled Посмотреть профиль Найти все сообщения от rebeled
 
Регистрация: 06.02.2013
Сообщений: 7

Сообщение от Deff Посмотреть сообщение
Нафига ? - добавьте им класс submit и анализируйте клик по кнопкам с данным классом
В JSF ичпользуются готовые компоненты, которые на выходе генерируются в определённый html. В данном случае эти компоненты primefaces. Переопределение этих компонент приведёт к некорректной работе системы в целом.
Ответить с цитированием
  #16 (permalink)  
Старый 07.02.2013, 13:05
без статуса
Отправить личное сообщение для Deff Посмотреть профиль Найти все сообщения от Deff
 
Регистрация: 25.05.2012
Сообщений: 8,219

rebeled,
У Вас неправильный подход к проблеме, - если Вы программист - это Вы брали кривые плагины - Вы и выкручивайтесь,
если руководитель - какое Вам дело до этих тонкостей ? Это безденежье ?

Бестолковый топик, -ушёл!
Ответить с цитированием
  #17 (permalink)  
Старый 07.02.2013, 13:37
Новичок на форуме
Отправить личное сообщение для rebeled Посмотреть профиль Найти все сообщения от rebeled
 
Регистрация: 06.02.2013
Сообщений: 7

Я программист, но к сожалению не всегда программисты сами выбирают платформу, на которой им приходится писать. У всех подходов есть свои достоинства и недостатки, а менять инструментарий из-за мелкого бага нерентабельно.
Ответить с цитированием
  #18 (permalink)  
Старый 07.02.2013, 14:08
Аватар для danik.js
Профессор
Отправить личное сообщение для danik.js Посмотреть профиль Найти все сообщения от danik.js
 
Регистрация: 11.09.2010
Сообщений: 8,804

rebeled, пройдись циклом по всем кнопкам и выставь им button.type = "button". Разве так не получится?
Ответить с цитированием
  #19 (permalink)  
Старый 07.02.2013, 14:18
Новичок на форуме
Отправить личное сообщение для rebeled Посмотреть профиль Найти все сообщения от rebeled
 
Регистрация: 06.02.2013
Сообщений: 7

Сообщение от danik.js Посмотреть сообщение
rebeled, пройдись циклом по всем кнопкам и выставь им button.type = "button". Разве так не получится?
Нет, кнопки всё равно не будут работать так как надо, да и сделать это сложно: часть контролов прорисовывется уже после загрузки страницы в результате действий пользователя ajax запросами, после обработки события на сервере с обращением в БД. Выносить всё это на клиент нельзя.
Ответить с цитированием
  #20 (permalink)  
Старый 07.02.2013, 16:07
Аватар для danik.js
Профессор
Отправить личное сообщение для danik.js Посмотреть профиль Найти все сообщения от danik.js
 
Регистрация: 11.09.2010
Сообщений: 8,804

Ну тогда проверяй свойства x/y у объекта события, передаваемого в onclick. Если они нулевые - клик сделан не мышью. Еслиб не ИЕ7-8, был бы более простой и надежный способ - event.detail. При клике мышью он больше нуля (кол-во быстрых кликов), иначе - 0
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
смена картинок при нажатии sdff Общие вопросы Javascript 15 08.02.2014 17:08
onClick на button при нажатии Enter atech Events/DOM/Window 2 09.08.2012 16:48
Событие onClick при нажатии пункта меню Lex4e Общие вопросы Javascript 1 25.06.2010 18:31
Смена картинки (бекграунд дива ) при событии (нажатие клавиш или клавиши и мыши) Monster Events/DOM/Window 5 01.11.2009 01:16
Выполнение скрипта при нажатии Entet в текстовм поле Vlasssov Общие вопросы Javascript 4 23.08.2009 23:31