動的にリンククリック時のイベントを切り替える
function changeAnchorEvent(mode) { if (mode == 1) { document.links[0].href = "javascript:alert('hoge')"; } else if (mode == 2) { document.links[0].href = "javascript:alert('foo')"; } }
例えばですけど、こんな風にできます。具体的に使用する場面としては、コードの入力を行わせる時、ポップアップ画面を開いて名称を選択させるなんていうのがありますよね。その時、画面の入力条件によっては、コード欄がdisable(readOnly)になったとします。その時にはポップアップウィンドウを開かせたくない場合に使用します。
そんなのJavaScriptの関数でポップアップウィンドウを開くか開かないか判定すれば良いじゃん!って思った貴方はとても正しい。今回の場合、ポップアップウィンドウ(というより共通機能)を呼び出す時は、カスタムタグを1個記述するだけになっていまして、そこに指定されているJavaScriptの関数に処理を差し込む事ができなかったのです。だから強制的にアンカータグのhref属性を書き換えています。