0

選択の親を返す関数に少し問題があるため、質問させてください。

$('input[type=button].btn_transform').click(function(){        

    var selectionObj = getSelected();//Function which gives me selection

    var theParent=selectionObj.anchorNode.parentNode;
    alert (theParent);    
})

たとえば、「猫は<strong>灰色</strong>です」という文を使用します。

「グレー」という単語を手動で選択してボタンをクリックすると、関数は[object HTMLSpanElement]を返します。

しかし、ダブルクリックして同じ単語を選択すると、関数は[object HTMLParagraphElement]を返します。

なぜなのかご存知ですか ?

どうもありがとう。

4

1 に答える 1

3

マウス選択は、テキスト「灰色」のテキストノード内に完全に存在するもののすべてを包含する選択を作成しています。<strong>ダブルクリックすると、そのテキスト ノードを含む要素全体を含む選択が作成されます。anchorNode視覚的な違いはないかもしれませんが、選択の、anchorOffsetfocusNodeおよびfocusOffsetプロパティ (または選択から取得した範囲) に反映されるように、違いは存在します。パイプが選択境界を表す場合、次のようになります。

マウスの選択:

the cat is <strong>|gray|</strong>

ダブルクリック選択:

the cat is |<strong>gray</strong>|

于 2010-06-01T11:06:46.840 に答える