0

この虫眼鏡アイコンをクリック可能なボタンにする最良の方法は何ですか? 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();
4

2 に答える 2

2

javascriptハックで何かを行うと、プログレッシブエンハンスメントのアイデア全体が破壊されます。

通常の送信ボタンを作成してaでラップし、最後に<span class="maglass">いくつかのCSSルールを!important作成して、jqmが作成する要素のjQuery Mobileボタンスタイルを上書きして送信ボタンを置き換えます(firebugで調べて、何を把握するかそして最後に-半分サポートされているブラウザでtitを美しく見せたい場合は、これらの1つを取得し、さらに別のCSSルールを追加する必要があります。

終わり。サポートされていないブラウザ用のボタンがあり、CSSで虫眼鏡に拡張されます。どこでも動作します。

于 2011-01-11T08:08:49.777 に答える
0

入力要素をテーマにした div であることがわかります。そうは言っても、おそらく次の2つのいずれかを行うことができます。

次のような入力のラッパーにバインドします。

$('__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();
  });

行きたい方向によって異なります。(そしておそらく、従来の jQuery イベントではなく、jquerymobile イベントを使用する必要があります (したがって、figner タップなどをキャッチできます)) また、私はライブラリに慣れていないため、これは疑似コードとして解釈する必要があります。知る。

EDIT
そして、それは明らかです、私はDIVのクリックイベントのために(チェックに関して)もっとやるべきことがあることに気づきました。DIV イベントが発生する入力ではなく、実際に DIV でクリックが実行されたことをテストする必要があります。
「これは機能しません」というコメントを避けるために、そこに投げるだけです。これが疑似コードである理由です。

于 2011-01-11T00:35:04.533 に答える