【覚書】サイドバー折り畳みボタン[+][-]を押した後でフォーカスを外す方法
「+」と「-」の色は変更出来たものの、クリックするたびに外側のマスに黒のborderが残ってしまうというコメントをみかけ、『あぁ、確かに気になる人は気になるかも……』と思って、対処方法を調べてみました。
実際にはscript要素内であれば他のところでも構わないのですが、この位置が解りやすいのではないかと。
ですので、上記の記述によりクリックイベントをトラップして、クリックされたオブジェクトのクラス名が"switch"の場合にはフォーカスを外す(blur())処理を行っています。
→違いました。折り畳みスクリプト(foldSidebar02c.js)のバージョン違いが原因の模様。
2007/03/04(日) 21:44 | 固定リンク
| 記事の編集(管理者用)
「おもいつき」カテゴリの記事
- 無粋(2010.11.21)
- マッサージクッションの正しくないかも知れない使い方(2010.11.19)
- もし、思考が映像化される装置が出来たら…(2010.11.20)
- ココでも:ココログ広場ユーザーのブログをキーワードで検索するサービスを試作(2010.10.29)
- ココログ用ReadMore:トップページの『》 続きを読む』をその場で展開するスクリプト(2010.11.06)
「ウェブログ・ココログ関連」カテゴリの記事
- ココでも:ココログ広場ユーザーのブログをキーワードで検索するサービスを試作(2010.10.29)
- ココログ用ReadMore:トップページの『》 続きを読む』をその場で展開するスクリプト(2010.11.06)
- ココだい:ココログ広場 ≫ つぶやきのお題をキーワードで検索するサービスを試作(2010.11.07)
- ココログカレンダーPlusをココログオリジナル・テーマ(の一部)に対応(2010.11.05)
- ココログカレンダーPlus(2008.01.21)
「パソコン・インターネット」カテゴリの記事
- 探しものって、みつけにくいものですね…(2012.02.13)
- Norton Internet Securityでエラー: 「3043,1」(2011.07.13)
- アンケート:ブログ等で「続きを読む」リンクを見たら…(2010.11.05)
- 読者参加型Web小説作成サイトを試作してみた:『胡蝶の夢語り』(Hermit's Adventures in Wonderland)(2010.10.22)
- Google画像検索関連スクリプトを更新(AutoPagerize版ver.0.01k/単独版ver.0.04)(2010.10.08)
「覚書」カテゴリの記事
- Norton Internet Securityでエラー: 「3043,1」(2011.07.13)
- 終わりを惜しむ6タイトル(2010.12.19)
- ココでも:ココログ広場ユーザーのブログをキーワードで検索するサービスを試作(2010.10.29)
- ココログ用ReadMore:トップページの『》 続きを読む』をその場で展開するスクリプト(2010.11.06)
- ココだい:ココログ広場 ≫ つぶやきのお題をキーワードで検索するサービスを試作(2010.11.07)


こんにちは。
対応策のレス、ありがとうございました。
助かりました。
普通に設置すればフォーカスは外れるものかと思っていましたが、
私のほうがイレギュラーな動きだったんですね(^^;;
>多分、設置されているブログパーツのどれかがフォーカスを(定期的に?)横取りしているのではないか、と推測していますが。
昔から変わらず置いているブログパーツとなると、
ブログペットでしょうか。
通常のやり方とは違った貼り付け方をしているので、
そのあたりになにかあったりとか……。
投稿: KOROPPY | 2007/03/05 10:33:09
button要素だからなんですね。なるほど。
確かにフォーカスの枠は気になる人は気になるかもしれませんね…。
あと、こういう風に、document.onclickで処理できるんですね。勉強になりました。
ところで、一つだけ気になったんですが、
t.className&& は不要ですか?
投稿: facet | 2007/03/05 15:58:12
| 普通に設置すればフォーカスは外れるものかと思っていましたが
原因がわかりました……多分。
KOROPPYさんが現在設置されている foldSidebar02c.js と、facet さんのところで公開されているものとで、バージョンが微妙に異なるようですが、このためみたいですね。
KOROPPY さんのところのものだと、_getModuleHeadText() という関数で、H2要素の中身(innerHTML)を直接書きしていますが、このときにスイッチからフォーカスが外れるのだと思われます。
facet さんのところの最新版では、innerHTMLを直接書換えていないので、フォーカスが残ったままになるようです。
投稿: 風柳>KOROPPY さん | 2007/03/06 1:34:21
| t.className&& は不要ですか?
t.classNameがnullの場合を考えての話でしょうか?
t.className=='switch'の条件にあてはまらないので、大丈夫じゃないかと思いますが……。
#t&& は必要かもしれませんね……でもイベント発生でコールされているのに、target(またはsrcElement)が取れない場合ってあるのかな?
投稿: 風柳>facet さん | 2007/03/06 1:41:41
KOROPPYさんちのフォーカスの話。
自分のスクリプトだったとは!(笑) //よく見つけますね、こんなの…(^^;
なんでクリック時に見出し内容をいちいち判定しなくちゃならなかったのか今となっては謎ですけどw、innerHTMLによる再描画でフォーカスが外れること自体は、なるほど、そういう実装になっていてもおかしくはないなという気がしました。
フォーカスを外す目的でinnerHTMLで再描画するのはさすがにアレでしょうけど(^^;
それから、t.className&&の話。
これ、昔このスクリプトを作り始めた頃、これを書かないとエラーがでて動作しないことがあったんですよね。なので、全部いちいち if (t.className && t.className== ...) 的に書かされた記憶が。…でも、今のFirefoxだとなくてもエラーがでないですね。知らなかった…
ちょっと実験してみたら、t.nodeType==3になることがないですね…。e.targetの仕様が変わったのか?
投稿: facet | 2007/03/06 22:04:04