- - PR -
定周期でのASP.NET上のマウスの位置取得方法
1
投稿者 | 投稿内容 | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
投稿日時: 2005-12-08 23:45
Webアプリ上でWebコントロール上にあるマウスの位置を常に取得するにはどうし たらよろしいでしょうか? 【目的】 Image上にあるマウスカーソルの位置によってツールチップの内容を動的で変更 したい。 【現状】 WindowsフォームのようにMouseMoveイベントに相当するものがないので現在、 次のように定周期タイマー内でマウスの座標を取得していますが、起動直後に数回 飛んできた後、急にタイマーイベントが飛んでこなくなる。 private void timer1_Tick(object sender, System.Timers.ElapsedEventArgs e) { // Image:Webコントロール名です string x = Request.Params["Image.x"]; string y = Request.Params["Image.y"]; ・・・ } 似たような質問で過去ログの中から、 http://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=13679&forum=7 http://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=1909&forum=7 を見つけたのですが、自分の中では解決に至らなかったので今回質問しました。 以上の件よろしくお願いします。 開発環境は.net 2003(ASP.NET+C#)です。 | ||||||||||||
|
投稿日時: 2005-12-09 01:52
ポストバックしない限りサーバーのイベントは起きません。 かといってマウスが動くたびにサーバーにポストバックするわけにもいきませんよね。 (起動直後のRequest.Params["Image.x"]って取れてます?)
ツールチップの文字なんて・・と思ったらImage.titleみたいにしてできるようです。 イベントが起きたその要素のx座標はIEならwindow.event.offsetXで取れるようです。 <img id="Image"・・・ onMouseMove="Image.title=window.event.offsetX+':'+window.event.offsetY"> HTML上でこんな感じにすればいいはず。ということでPage_Loadあたりで Image.Attributes.Add かなんかでonMouseMove属性をImageに追加してあげてください。 [ メッセージ編集済み 編集者: べる 編集日時 2005-12-09 01:54 ] | ||||||||||||
|
投稿日時: 2005-12-16 13:38
yutaです。 連絡が遅れてスミマセン。 べるさん、レスポンス有難うございます。 お陰さまでmousemoveイベントを利用して位置は取得できたのですが、 レス中に記載されているImageはHTMLで追加したものですよね? 元はWebコントロール上から張りつけたものだったのですがこれではマ ウスイベントに伴うツールチップ表示がダメそうなのでHTMLに書き直し てみようと思います。 | ||||||||||||
|
投稿日時: 2005-12-16 23:49
普通はWebコントロールのIDが<img id="〜">のようにidになるので大丈夫だと思います。
こうなればいい、という意味のつもりでした。 |
1