9

公式$.cssHooksにはjQuery API ドキュメントにのみ$.valHooks記載されており、 の既知の問題の回避策の文で言及されてい.val()ます。

jQuery にはこれら 2 つ以外にいくつのフックがあるのだろうか$.valHooks。プラグイン開発で使用する必要があるのだろうか? もしそうなら、一文だけではなく、専用のトピックとして文書化する必要があると思います。

4

1 に答える 1

10

8種類の露出フックがあります。

内部使用専用 (公開されている) がもう 1 つありますjQuery._queueHooks()

他にも 2 つのフックがあります: nodeHookandは内部で使用され、それらの機能は基本的にandboolHookに組み込まれています。jQuery.attrHooksjQuery.valHooks

重要なものは次のとおりです。

  • jQuery.attrHooks

    • 値の後に入力のタイプを設定するとradio、IE6-9 の値がリセットされます。
    • contenteditable削除時に false に設定します (バグ #10429 )。
    • 空の文字列で、幅と高さを 0 ではなく auto に設定します (バグ #8150 ) 。
    • 一部の属性では、IE 、 、および で特別な呼び出しhrefsrc必要widthですheight
    • 属性undefinedが空文字列の場合に返します。style
    • value古い IEのプロパティの get/set を修正
    • フックが定義されていない場合に属性値を読み取る場合、 または のいずれboolHookかを使用しますnodeHook(これは と同じjQuery.valHooks.buttonです)。
    • 要素の属性を取得/設定するときに、追加のフックを取り付けるために使用できます。

     

  • jQuery.propHooks

    • href/srcプロパティは正規化された完全な URL を取得する必要があります (バグ #10299バグ #12915 )。
    • 「Safari が、オプションのデフォルトで選択されたプロパティを誤って報告する」の修正。
    • 要素のプロパティを取得/設定するときに、追加のフックを取り付けるために使用できます。

     

  • jQuery.Tween.propHooks

    jQuery.Tweenアニメなどで使われています。

    • scrollTopおよびIE8 での修正scrollLeft- jQuery 2.0 で削除されます。
    • その他アニメネタ。

     

  • jQuery.cssHooks

    スタイル プロパティの取得と設定の既定の動作をオーバーライドするために、スタイル プロパティ フックを追加します。

    • CSS プロパティの値を取得/設定するための修正opacity
    • プロパティの取得witdthheight依存の修正。display
    • width設定とプロパティheightに応じて修正しbox-sizingます。
    • margin-right を取得するための修正。
    • Webkit Bug #29084の修正-getComputedStyle上/左/下/右に指定するとパーセントを返す
    • 、 、 などの指定jQuery.fn.animateされたスタイル プロパティを展開するために で使用されます。marginpaddingborder
    • 他のさまざまなjQuery.fn.animate関連のもので使用されます。
    • さまざまな背景 CSS プロパティの設定は、inheritを使用せずに実現できjQuery.cssHooksます。これは、この方法の方が短いためです。
    • 要素の個々のスタイル プロパティを取得/設定するときに、追加のフックをアタッチするために使用できます。

     

  • jQuery.valHooks

    • option要素に関する Blackberry 4.7 のバグを修正しました(バグ #6932 )。
    • select要素の選択された値を読み取るために使用されます。
    • button要素の一部のプロパティの読み取りを修正- idnameおよびcoords. と同じnodeHook(上記参照)。
    • Webkit とその他のチェックradioおよび入力の非互換性を修正します。checkbox
    • 入力要素の値を取得/設定するときに、追加のフックを取り付けるために使用できます。

     

  • jQuery.event.fixHooks

    現在のブラウザのサポートに基づいて修正と正規化が必要なjQuery.event.mouseHooksとのホルダー。jQuery.event.keyHooks

  • jQuery.event.mouseHooks

    • 一部のプロパティをオリジナルMouseEventから jQuery イベント オブジェクトに転送するために使用されます。
    • は正規化されていないevent.whichため、ブラウザー間で (どのマウス ボタンが使用されたか)event.buttonを正規化します。
    • pageXpageYclientXclientYおよびその他が欠落している場合は計算し、それらを jQuery イベント オブジェクトに設定します。

     

  • jQuery.event.keyHooks

    • 一部のプロパティをオリジナルKeyboardEventから jQuery イベント オブジェクトに転送するために使用されます。
    • event.whichブラウザー間で (押されたボタンの文字コード) を正規化します。元のイベントではchar、 、charCodekeyまたはである可能性がありますkeyCode

jQuery 1.9.1 ソースから。

于 2013-03-19T22:16:00.437 に答える