No.1ベストアンサー
- 回答日時:
うーん。
そこで何がどんな風に起こっているのか、よくつかめません。
推測ですが、その情況の変化を取得するような「イベント」はないような気がしますね。
でも、なければ作ればよいわけです。
文字のサイズをウォッチして、それがある大きさを超えた
ら報告するようにすればいいわけですよね。
それなら、こんな感じのでどうなのでしょうか。
<html>
<head>
<script type=text/javascript>
var i=5
function FtWatch(){
var obj=document.getElementById('fn');
if(i>20)alert('Watch the chars now!');
obj.style.fontSize=i +'px'
i++;
setTimeout('FtWatch()',500);
}
</script>
</head>
<body onload="FtWatch()">
<div id="fn">AAA</div>
</body>
</html>
この回答への補足
回答ありがとうございます。
やはり最終的にはそうなりますか・・・。
やりたいことをできるだけ単純化したサンプルを書いてみました。テキストをクリックするとdiv要素がちょうどテキストボックスの右端に入るように現れますが、この状態で表示サイズを変更すると、div要素の配置が崩れてしまいます。クリックすれば再度期待通りの位置に配置されなおしますが、イベント云々ではなくそもそもスマートな書き方があるのかな、とも思っているところです。
-------------------------------------------------
<html>
<head>
<script language="Javascript">
var foo = null;
function bodyOnLoad(){
foo = document.createElement("div");
foo.innerHTML = "A";
foo.style.backgroundColor = "gray";
foo.style.display = "none";
foo.style.position = "absolute";
document.body.appendChild(foo);
}
function txtOnClick(element){
var elementPosition = getElementPosition(element);
foo.style.height = (element.offsetHeight - 2) + "px";
foo.style.width = (16-1) + "px";
foo.style.left = (elementPosition.x + element.offsetWidth - 16) + 'px';
foo.style.top = (elementPosition.y + 1) + 'px';
foo.style.overflow = "hidden";
foo.style.display = "block";
element.onmousedown = function(){foo.style.display="block";};
}
function getElementPosition(element) {
var position = new Object();
position.x = element.offsetLeft;
position.y = element.offsetTop;
while(element.offsetParent) {
element = element.offsetParent;
position.x += element.offsetLeft;
position.y += element.offsetTop;
}
return position;
}
</script>
</head>
<body onload="bodyOnLoad();">
item1:<input type="text" id="txt1" onclick="txtOnClick(this);"><br>
item2:<input type="text" id="txt2" onclick="txtOnClick(this);"><br>
item3:<input type="text" id="txt3" onclick="txtOnClick(this);"><br>
</body>
</html>
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) 【エクセルマクロ】既に開いているIEの、サイズや表示位置を変更するには 4 2022/12/01 22:57
- Visual Basic(VBA) Application.InputBoxの表示形式 2 2022/08/09 22:32
- Visual Basic(VBA) ActiveReportのdetailをデータセットの自動バインドを使って帳票を出力しています。 1 2023/08/16 07:16
- IT・エンジニアリング ActiveReportのdetailをデータセットの自動バインドを使って帳票を出力しています。 1 2023/08/16 07:17
- iOS iPhoneの画面が見切れて困ってます ゲーム画面などで文字が見切れてしまっていたり タップする部分 2 2022/07/05 22:45
- その他(Microsoft Office) エクセルVBA イベントの切り替え 2 2022/05/01 03:51
- JavaScript Javascriptが機能せず原因が分からないので教えて頂きたいです 3 2023/06/04 14:50
- IT・エンジニアリング ★お手上げ状態です。助けてください。ActiveReportについて 1 2023/08/20 04:29
- Visual Basic(VBA) ★お手上げ状態です。助けてください。ActiveReportについて 1 2023/08/20 04:27
- Visual Basic(VBA) Selenium Basicの件 5 2023/04/10 20:55
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
追加ボタンを押した際に ok ボ...
-
フォームが空欄の時にフォーム...
-
GASに文字列として関数を入れる...
-
特定の文字列を複数抜き出した...
-
初心者です。gulpでコンパイル...
-
階層別の組織図の自動作成について
-
①入力フォーム→②確認表示画面→③...
-
Q&A掲示板の入力フォームに文字...
-
ボタンを押したあとに画像を表...
-
コードレビューをお願いします。
-
React hooksが値を返して配列変...
-
フロントエンドフレームワーク...
-
画面遷移を行わずに同一ページ...
-
ローディングアニメーションの...
-
jQueryで同じクラス名のものを...
-
ジャバスクリプトについて。
-
プログラムについて。
-
メールフォームの日付入力フォ...
-
二次元配列を使って順位をだす...
-
iOSのみダブルタップが必要
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
二次元配列を使って順位をだす...
-
プログラムについて。
-
Q&A掲示板の入力フォームに文字...
-
メールフォームの日付入力フォ...
-
iOSのみダブルタップが必要
-
ジャバスクリプトについて。
-
画面遷移を行わずに同一ページ...
-
特定の文字列を複数抜き出した...
-
指定時間になったら、WEBサイト...
-
追加ボタンを押した際に ok ボ...
-
①入力フォーム→②確認表示画面→③...
-
スマホ上で、左右スワイプで次...
-
読み込んだQRコードをフォーム...
-
フロントエンドフレームワーク...
-
React hooksが値を返して配列変...
-
GASでGoogleフォームの自動返信...
-
初心者です。gulpでコンパイル...
-
階層別の組織図の自動作成について
-
HTMLで作った時報アプリが動き...
-
jQueryで同じクラス名のものを...
おすすめ情報