jQueryを使用して、HTMLページのどこにでもダブルクリックしてメッセージを残すことができるツールをまとめています。メッセージの配置に関係する障害にぶつかりました。
私が現在テストしているコード:
$('body').bind('dblclick', function(e) {
var message = $('<div class="message">Form here</div>').css({
'left' : e.pageX,
'top' : e.pageY
});
$(this).append(message);
});
これにより、マウスクリックの位置に新しい「メッセージ」が作成されます。これはある程度機能しますが、ブラウザウィンドウのサイズが変更されるとすぐに、「メッセージ」の位置がずれます。私は最終的にメッセージを保存する(そしてそれらを取得する)ことを望んでいるので、すべてのブラウザーのすべてのユーザーの異なる場所にメッセージをロードすることは理想的ではありません。そのページがメディアクエリを使用している場合でも、メッセージをページレイアウトに添付したい。
この問題についての私の理解は、ユーザーがクリックした最も近い要素を基準にしてメッセージを配置する必要があるということです。質問は。どうすればいいですか?
ヒントやヒントをいただければ幸いです。
2011年4月7日更新
私が以下に持っていた答えのほとんどは、実際には私が求めているものではありません。私の設定を示すために、私のページの例をJSfiddleにアップロードしました。ここでの問題は、メッセージを相対的な位置に添付することです。これにより、ブラウザウィンドウのサイズが変更されると、メッセージがコンテンツとともに移動します。
例えば。ページの2番目の段落にメッセージを添付する場合、ブラウザ/デバイスの幅に関係なく、そのメッセージをその段落に固定するにはどうすればよいですか。私が知る限り、メッセージを相対的な位置に配置するために使用できる最も近いブロックレベルの要素(またはIDまたはクラスを持つ要素)を確立する必要があります。
それが質問をクリアすることを願っています&あなたのすべての提案に感謝します。