Skip to content

jQueryでtooltip

jQueryでtooltip published on jQueryでtooltip へのコメントはまだありません

自分用メモ。とりあえず手軽にtooltipを使いたくてちょっと調べてみた。

(念のため書くけど、tooltipって対象となるテキスト(別に画像でも何でも良いけど)の上にマウスを置くと、説明文とかがちょこっと出てくる奴。)

jQuery + tooltip で検索すると、「jQueryで使えるtooltipのプラグイン30」みたいなサイトが結構出てくるんだけど、正直どれを選んで良いかよく分からない。しかし、このサイト(英語)はコードサンプルやデモなども載っていてかなり分かりやすい。

自分はSimpletipというのにした。

 

 

IE8にはJavaScriptデバッグ機能が標準で・・・

IE8にはJavaScriptデバッグ機能が標準で・・・ published on IE8にはJavaScriptデバッグ機能が標準で・・・ へのコメントはまだありません

Firefoxの場合はFirebugという高機能なJavaScriptデバッガがあるので困らないけど、Internet Explorerの場合は昔懐かしのMicrosoft Script Debugger位しか無いのかなぁと思ってたら、IE8からは標準でツールが付いていて、F12キーでいつでも呼び出せる事に気づいた。

これは便利。

evalと構文エラー

evalと構文エラー published on evalと構文エラー へのコメントはまだありません

AJAXでは、以下のようにサーバーから返されたJSONをevalで元に戻すみたいな事を良くやると思う。

var result = eval("(" + responseText + ")");

サーバー側で何らかのエラーが発生して、responseTextにエラーメッセージが書かれてたりすると以下のようなエラーが発生する。

エラー: 構文エラーです。

最初は「構文的には何もおかしくないんだけどなぁ…」と結構悩んだけど、そこに書かれているJavaScriptの構文ではなくて、evalしている文字列がJavaScriptの構文じゃないって事だって分かった時は少し感動。

MooTools

MooTools published on MooTools へのコメントはまだありません

Joomla!ではMooToolsというJavaScriptのフレームワークを使っているらしい。
コンポーネント作成しててビューをいじってる時にJHTMLのコードを見てて気づいた。$(‘element’)とかの記法はprototype.jsと同じだし取っつきやすい。
他のフレームワークとの比較とかはよく分からないけど、Joomlaのコンポーネントを作るなら覚える必要がありそう。とはいえ、それ程多機能でもないし、リファレンスを見ながらやれば問題無さそう。

Webページ上で吹き出し

Webページ上で吹き出し published on Webページ上で吹き出し へのコメントはまだありません

自分用メモ

1〜2年前、とあるWebシステムのプロジェクトで、オンラインヘルプ機能を付ける事になった。ボタンとか値の入力テキストボックスとかに「?」ボタンを表示して、その上にマウスを乗っけると吹き出しが表示されてヘルプのテキストが表示されるというもの。

その時見つけたのが以下の2つ。今はもっとカッコいいのとか簡単なのとかが色々ありそうだけど。

最近、こういうのはあまり触らなくなったなぁ。

JavaScript複数のメニューを連動させる

JavaScript複数のメニューを連動させる published on JavaScript複数のメニューを連動させる へのコメントはまだありません

Webシステムでよくあるのが、2つのプルダウンメニューを連動させるヤツ。1つめのプルダウンが国名で、それで「日本」を選択すると2番目のプルダウンが47都道府県になり、「アメリカ」を選択すると50州になるというもの。
それをJavaScriptで実現する方法が簡単にまとまっていたページ。そしてそれを若干改良したページ
要は、2次元の連想配列を用意して、その値を用いてJavaScriptで動的に2番目のプルダウンの中身を変えるという物。特に難しい事はやってない。

Continue reading JavaScript複数のメニューを連動させる

BIRTでJavaオブジェクトの埋め込み

BIRTでJavaオブジェクトの埋め込み published on BIRTでJavaオブジェクトの埋め込み へのコメントはまだありません

今のプロジェクトではBIRTというオープンソースのレポートエンジンを使っている。
BIRTは色々便利なんだけど、欠かせない機能としてレポート内でJavaScriptを使う事が出来、さらにそのJavaScriptからJavaオブジェクトを呼び出す事が出来る。ビジネスロジック(及びDAO)はJavaで実装して、BIRTはデータの表示だけを行うようにすると良い感じ。(Beanを生成して、getterメソッドでStringとかfloatの値を取り出してレポートに表示する)
Javaオブジェクトの呼び出し方だけど、今まで2通りやった事がある。
スクリプトの使い方についてはこの辺(英語)。

Continue reading BIRTでJavaオブジェクトの埋め込み

JavaScriptのデバッグ2

JavaScriptのデバッグ2 published on JavaScriptのデバッグ2 へのコメントはまだありません

以前、JavaScriptのデバッグに関して、MicrosoftのScript Debuggerを紹介した
その後、MSから提供されている別のツールを見つけた。Internet Explorer Developer Toolbarというやつで、その名の通りIEのツールバーとして動作する。
機能的にはDOMツリーを表示したり、特定のHTMLエレメントを非表示にしたり、tableの枠線の表示を動的に切り替えられたりとか。まぁまぁ便利だと思うので、一度試してみるといいかも。
ダウンロードはここから。

IEのメモリーリーク

IEのメモリーリーク published on IEのメモリーリーク への2件のコメント

JavaScriptの書き方によってはInternet Explorerのメモリリークのバグによって、メモリの使用量が増え続ける。
けど、このページによると、2007年6月にバグ修正されたみたい。
バグ修正に関するMicrosoftの公式情報はこっち
バグの詳細情報はこっち
どんなJavaScriptを書くとメモリーリークが発生するかは、MSのこのページで解説してた。
もう少し簡単に説明した個人のページもあった。
循環参照がキーワード。
IEのメモリーリークを検出するDripっていうツールもあった。このページで簡単に解説してた。
このバグはまだ直っていない?

JavaScript、イベントの順序

JavaScript、イベントの順序 published on JavaScript、イベントの順序 へのコメントはまだありません

最近のWebサイト・システムではとにかくとにかく「ダイナミック」で、画像・テキストなど至る所にイベントハンドラーが登録されている。
ごく原始的なやり方だと

<img src="foo.jpg" id="img1" onclick="somefunc()">

なんて方法だけど、最近ではprototype.jsのEvent.observeとかを使ってる人も多いと思う。
Event.observeだと

Event.observe('img1','click','somefunc()')

って感じになるけど、このメソッドには第4の引数がある。何に使うかだけど、例えばあるdiv領域の中にもう1つdiv領域があって(divじゃなくてもimgでも何でもいいけど)、それらに共にonclickのイベントハンドラーが設定されている場合、マウスをクリックするとどっちのイベントハンドラーが先に呼ばれるか?
答えは内側の要素に設定されたイベントハンドラーが先に呼ばれるんだけど、第4の引数useCaptureをtrueにするとちょっと違った動作に。とまぁその辺りをコントロールする引数。このページが分かりやすい説明だった。

Continue reading JavaScript、イベントの順序