• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:ページが完全に読み込まれてから関数を動かす)

ページが完全に読み込まれてから関数を動かす

このQ&Aのポイント
  • ページが完全に読み込まれてから関数を実行する方法について考えています。
  • 現在の実装では、onMousemove イベントを使用してマウスの位置を取得していますが、他の方法はありますか?
  • また、エラーが生じる原因は、まだ読み込まれていないフォームを指定しているためです。エラーを回避するためにはどのような方法がありますか?

質問者が選んだベストアンサー

  • ベストアンサー
  • 665
  • ベストアンサー率72% (18/25)
回答No.1

>エラーが出ないようにするには何か方法はありますか? 例えばページがロードされて初めてonmouseoverの イベントハンドラを追加するという方法があります。 body要素のonmouseoverを消して、代わりに以下をスクリプト内に記述してください。 window.onload = function() { document.onmousemove = xxx; }

noname#12205
質問者

お礼

ありがとうございます 解決しました

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • onLoad関数

    どうかお願いします、ご教授ください。 BODYタグの中で onLoad()でまずonLoadを呼び出しています。 <body onLoad = "onLoad()"> まだ、このonLoadについて認識不足のために起こる問題だと思うのですが・・・。 フォームからの入力で未入力があればアラームを警告メッセージを表示するようにしました。 しかし、onLoadの中に警告メッセージを出す関数を入れていると動きません。 onLoadに外に置いたら動きます。 どうしてなのでしょうか??? 多分関数の中にある関数だから呼び出す事ができないという事でしょうか。 もしやと思い onLoad.tamesi(); のようにしても駄目でした。 関数の中にある関数うを呼び出すにはどうしたらよいのでしょうか

  • イベントハンドラを使わずに実行するには?

    googleのように、ページが読み込まれたらフォームにフォーカスを 移すということをやりたいのですが、onLoadのようなイベントを 使わずに行うことは出来ますでしょうか? 掲示板でこの機能を使いたいと思っています。しかし、全てのページに フォームがあるわけではないので、<body onLoad="~">で実現すると フォームがない時にエラーが発生してしまいます。 document.write( "hoehoe" ); が直書きで実行されるなら同じようにできるのでは? と思って <script> <!-- document.form.comment.focus(); // --> </script> とやってみましたができませんでした。 onLoadを使わない方法、もしくは<body>以外でonLoadを使う方法が ありましたら是非教えてください。

  • 外部ファイルでBODYのonloadイベントの関数を指定するには?

    (1)<BODY onload="funcA()">という形でなく、 ヘッダー内に入れた外部ファイルに (2)document.body.onload=funcA; としたいのですが、 「document.bodyはオブジェクトではありません」 というエラーになってしまいます。 <script language="javascript" src="xx.js">は <head></head>の中に入れています。 どうしたら(2)の方法で、 外部ファイルでbodyのonloadイベントの関数を指定できるでしょうか?

  • JavaScriptでマウス位置をリアルタイムで取得

    ウィンドウを開いたら、マウス位置をリアルタイムで取得し、ウィンドウ上に表示ということをしたいのですが、まったくわかりません。 function mousecursor(evt){ //関数の定義 X = event.x; //イベント発生場所のX座標取得 Y = event.y; //イベント発生場所のY座標取得 window.status = X + "," + Y;} //ステータスバーに表示 document.onmousemove = mousecursor; //マウスカーソルが動いたら、関数を呼び出す。(bodyタグで呼び出しも可) というようなソースを手に入れたのでやってみたら、できることはできたんですが、なんとなくしか意味がわかってません。 HTMLやPerl、VBAなどはできるんですが、どうしてもJavaScriptがあんまり理解できないんです…。 リアルタイムで取得し、表示、ということではなくても、自分の任意したように出力させたいんです。 (たとえばどこかをクリックしたらアラート表示など) よろしくお願いします。

  • Delphi6 OnMouseUp

    deiphi6です。 OnMouseDown,OnMouseMoveイベントで返ってくるX,Y座標値と、OnMouseUpで返ってくるX,Y座標値に違いがあります。 例えば、 ScrollBoxの中にPaintBoxを置いて、PaintBoxのWidth(Height)を32768以上にします。 実行させ、スクロールさせてPaintBoxが32768以上のポイントでマウスボタンを押して離すと。 OnMouseUpで返ってくるX(Y)座標はマイナスになります。 また、65536以上にするとまた1から始まるプラスのX座標がかえってきます。 OnMouseDown,OnMouseMoveでは正常なプラス値です。 つまり、Intergerで返ってきてないってことですか? OnMouseMoveでの座標を代用して使ってますが、マウスの早い動きには正確を欠きます。 何かいい回避方法はありませんでしょうか?

  • インラインフレーム内の変数を親ページから呼び出す

    インラインフレーム内のマウス位置を↓のjavascriptコードで取得しているのですが、親ページのjavascriptの関数で使用したいです。どのようにインラインフレーム内の変数を親ページから呼び出して、利用すればよいのでしょうか? var x, y; window.addEventListener("DOMContentLoaded", function(){ window.document.onmousemove = function(e){ x = getMousePosition(e).x; } },false); function getMousePosition(e) { var obj = new Object(); if(e) { obj.x = e.pageX; obj.y = e.pageY; } else { obj.x = event.x + document.body.scrollLeft; obj.y = event.y + document.body.scrollTop; } return obj; }

  • JavaScriptにおいて、「同一ページ」で、下記の「2種類のイベント」

    JavaScriptにおいて、「同一ページ」で、下記の「2種類のイベント」 hyouzi() msg6() を実行したいのですが、どのように、表記したらいいのでしょうか? よろしく、お願いいたします。 このままではいけないんですよね? (^^; <BODY onload="hyouzi()"> <BODY onload="msg6()">

  • javascriptでマウスイベントを拾うとき

    javascriptでマウスイベントを拾うときに、 onLoad関数の中で、 document.onmousedown = mydown; として、 function mydown(e) { として、よくマウスイベントのeを 使いますが、このmydown関数へ引数を増やしてわたしたいのですが、 どうやればいいのですか?普通にカッコのなかにわたすようにしても ダメでした。マウスイベントのeがあるためのように思います。 教えてください。

  • 「nullまたはオブジェクトではありません」というエラーが出ます。

    こんにちは、IE7、VISTAで試しています。 エラーもなく動いたのですが、 sClientXとsClientYの値をフォームメールでデータ送信したくて clientX=<input type="text" id=sClientX><br> clientY=<input type="text" id=sClientY><br> という部分を<form>内に入れると 「sClientXはnullまたはオブジェクトではありません」 というエラーが出ます。 エラーの原因はなんでしょうか? <HTML> <HEAD> <SCRIPT language="JavaScript"> <!-- var sample; var sClientX; var sClientY; var target; var isDrag=0; function document_onmousedown(){ isDrag=1; target=event.srcElement;} function document_onmousemove(){ if( isDrag ){ target.style.top=event.clientY-8; target.style.left=event.clientX-8;} } function document_onmouseup(){ isDrag=0; sClientX.value = document.getElementById('sample').style.left; sClientY.value = document.getElementById('sample').style.top; } document.onmouseup = fOnmousemove; function fOnmousemove() { } //--> </SCRIPT> </HEAD> <BODY onmousemove="document_onmousemove()" onmousedown= "document_onmousedown()" onmouseup="document_onmouseup()"> <DIV style="position:absolute" id=sample> このオブジェクトが移動します </DIV> <DIV id=text1 style="position:absolute;font-size:24px; cursor:hand"> </DIV> <form> clientX=<input type="text" id=sClientX><br> clientY=<input type="text" id=sClientY><br> </form> </BODY> </HTML>

  • onmousemove

    何とか自力で下記まで着ました。 <html> <head> <script type="text/javascript"><!-- myX = 8; myY = 16; function myMove(){ myObj=document.imgb.style; myObj.left = myX + window.event.clientX + document.body.scrollLeft + "px"; myObj.top = myY + window.event.clientY + document.body.scrollTop + "px"; } //--></script> </head> <body> <img src="imgA.gif" onmousemove="myMove()" /> <img src="imgB.gif" name="imgb" style="position:absolute; z-index:1;" /> </body> </html> これを画像 imgA からマウスが外れたら imgB を表示しないようにする方法はありますでしょうか。 ちなみにこのOKWaveのブックマークに追加するあたりのアイコンにマウスをあわせるとなんかでてくきますよね。それと〃ことをやる場合この方向でいいのでしょうか?

EP-810年賀状のイラスト年号
このQ&Aのポイント
  • EP-810の年賀状作成で注意すること
  • 年号表示に関する問題点と解決策
  • システムのバージョンアップによる対応方法
回答を見る

専門家に質問してみよう