あなたはのためにテストすることができますこのような本物のホワイトスペース:coords
は.x
と.y
プロパティを持つオブジェクトです
function isWhiteSpace(coords) {
var element = document.elementFromPoint(coords.x, coords.y);
var whitespace = $(document).add("body, html");
return (whitespace.get().indexOf(element) > -1) ? true : false;
}
。
DEMO
document.elementFromPoint()
は、hereを文書化し、 "実験技術" であるので、私はそれに私の人生を信頼しないでしょう。すべてのターゲットプラットフォームで完全にテストします。
あなたが求めるすべての白の完全な検出のために編集
は、isWhiteSpace()
は、2段階の最初のでしょう。 2番目の段階は@ remdevtecのアプローチで実装されたisVisualWhiteSpace()
です。
私のisWhiteSpace(coords)
は安価であるため、最初に実行し、falseを返した場合にのみ高価なテストを実行します。あなたは||
var isWhite = isWhiteSpace(coords) || isVisualWhiteSpace(coords);
の保護プロパティを使用することができますしかし、あなたの本当の問題はisVisualWhiteSpace()
を書くことになります。私はそれを助けることはできません。
何が「空」であると計算していますか?あなたの例を考えてみると、その赤い点は質問のテキストが含まれている同じdiv要素の一部である可能性が高く、そのdivの親要素です。 –
あなたはhtmlタグの間の空白を探しているようですが、わかりません。 – SidOfc
@SidneyLiebrand **タグ内であっても、空白を検出したいと思います。 (私の例のように、テキストエリア内で) – happyOasis