1

私は jQuery プラグインsearchabledropdownを使用しています。これは基本的に、<select>選択要素を、入力時inputに結果が表示されるフィールドに変換します (ただし、ドロップダウン選択のように見え、動作します!)。

ここで、そのような変換された要素にフォーカスを渡したいと思います。私がしたこと:

  • Chrome Webツールで上記の要素を調べましたが、
  • 次に、一致する jQuery セレクターを作成し、
  • 最後にそれを呼び出しfocus()ました。

私のコードは他の要素でも機能するようです(正常に機能する、変換されていない通常の要素で試してみました<select>)。

jQuery(".map-searchbox input").focus();

ただし、searchabledropdown で作成した要素にフォーカスを当てるとinputうまくいきません。変換後の html 要素の概要は次のとおりです。(すべてのスタイルのゴミで申し訳ありませんが、それが重要かどうかはわかりませんでした...)

<div class="map-hudbox map-searchbox">
  <select class="searchselect" style="text-decoration: none; width: 163px; height: 19px;">
    <option value="...">...</option>
    ...
  </select> 
  <input type="text" style="height: 17px; position: absolute; top: 0px; left: 0px; margin: 0px; padding: 2px 0px 0px 3px; outline-style: none; border-style: solid solid none; border-color: transparent; background-color: transparent; border-left-width: 1px; border-top-width: 1px; font-size: 12px; font-variant: normal; font-weight: normal; color: rgb(68, 68, 68); text-align: -webkit-auto; text-indent: 0px; text-shadow: none; text-transform: none; width: 140px; z-index: 2;">
  <div style="position: absolute; top: 0px; left: 0px; width: 165px; height: 19px; background-color: rgb(255, 255, 255); opacity: 0.01; z-index: 1;"></div>
</div>

およびinput下のdiv要素は、 searchabledropdownプラグインselectによって上から作成されたものです。そして、私が注目したいのはフィールドです。input

.focus()通常の呼び出しが役に立たない理由はありますか?

助けていただければ幸いです。:)


PS jQueryセレクターをチェックするという通常の提案を回避するには、セレクターが機能し、Chrome JSコンソールを介して印刷すると、input上記の要素が正確に表示されます。

4

2 に答える 2

0

outline-style: none;タグの css 属性が、input実際には入力がフォーカスされていないかのように見せていると思います。

于 2012-11-27T17:14:44.347 に答える
0

しばらくしてもう一度やり直してください。

問題は可視性の 1 つであることに気付きました。searchabledropdown プラグインは、input 要素と select 要素の可視性を変更し、非表示要素にフォーカスを当てることは明らかに機能しませんでした。

上記jQuery(".map-searchbox input").focus();が魅力的に機能したときに何を表示するかを考え出した後。

于 2013-01-16T09:02:18.970 に答える