座標を与えられてエレメントを探す必要がありましたが、
elementFromPoint では frame の中まで見てくれないので、 以下の様な関数を作成しました(ブラウザは Mobile Safari)。 function findElementByPos(doc, x, y) { var obj = doc.elementFromPoint(x,y); if (obj.contentDocument) { var elem = obj; while (elem) { x -= elem.offsetX; y -= elem.offsetY; elem = elem.offsetParent; } var w = obj.contentWindow; x -= w.pageXOffset; y -= w.pageYOffset; return findElementByPos(obj.contentDocument, x, y); } return obj; } frame の中を見てくれるようにはなったのですが、x,yの調整が 上手くいかず間違った箇所の element を拾ってしまいす。 Javascript は殆ど始めてで勝手が分からないのですが、 frameset 中の frame の位置を求める一般的な方法はどんな感じなのでしょうか。 |
|