JQuery mobile Поиск входов Icon - PullRequest
0 голосов
/ 11 января 2011

Мне было интересно, как лучше всего сделать этот значок увеличительного стекла нажатием кнопки?без изменения фреймворка JQuery

http://jquerymobile.com/demos/1.0a2/#docs/forms/forms-search.html

Здесь он отображается в фреймворке

if( input.is('[type="search"],[data-type="search"]') 
focusedEl = input.wrap('<div class="ui-input-search ui-shadow-inset ui-btn-corner-all ui-btn-shadow ui-icon-search'+ themeclass +'"></div>').parent();

Ответы [ 2 ]

2 голосов
/ 11 января 2011

Делая что-либо с помощью хака javascript, вы уничтожите всю прогрессивную идею идею.

Просто создайте обычную кнопку отправки и оберните ее <span class="maglass">, а затем просто создайте некоторые правила CSS с !important в конце, чтобы перезаписать стили кнопок jQuery Mobile для элементов, которые jqm создает для замены кнопки отправки (проверьте это с firebug, чтобы получить контроль над тем, что там создано) И, наконец, - если вы хотите, чтобы Tit хорошо смотрелся в наполовину поддерживаемых браузерах, вам нужно получить один из них и добавить еще одно правило CSS.

Готово. Там есть кнопка для не поддерживаемых браузеров, и она превращается в увеличительное стекло с CSS. Работает везде.

0 голосов
/ 11 января 2011

Лучшее, что я могу сказать, это div-тема с элементом ввода.При этом, вероятно, вы можете сделать одну из двух вещей:

Привязать к обертке ввода, например:

$('__INPUT_SELECTOR__') // grab the input field
  .closest('div')       // traverse up to the parent div
  .bind('click',function(){
    // grab the click event and make it a form submit
    $(this).closest('form').submit();
  });

ИЛИ, вы идете в другом направлении:

$('div.ui-input-search') // find the div first
  .bind('click',function(){
    // now you have a click event on the div. Transfer it to the form's submit
    $(this).closest('form').submit();
  });

Все зависит от того, в каком направлении вы хотите идти.(И, вероятно, следует использовать события jquerymobile, а не классические события jQuery (чтобы можно было ловить нажатия figner и т. Д.)) Кроме того, это следует интерпретировать как псевдокод , поскольку я не знаком с библиотекой, просто следуя тому, что я знаю.

РЕДАКТИРОВАТЬ
И так ясно, что я понимаю, что необходимо сделать больше (с точки зрения проверки) для события нажатия кнопки DIV.Вам нужно будет проверить, что щелчок был фактически выполнен на DIV, а не на входе, что приводит к возникновению события DIV.
Просто выбросьте его, чтобы избежать комментариев «это не работает».Вот почему это псевдокод.

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