タグ

JavaScriptに関するhimabatoのブックマーク (254)

  • プログラマーを惑わせる3種類の委譲(委譲・Delegation/転送・Forwarding/.NET Delegates) - Qiita

    Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? 委譲チョットデキル人向けの要約 「委譲」や「デリゲート」が指すものはプログラマーによって違うことがある。 少なくとも下記3パターンあって、あまりにも初見殺しすぎるというお話です。 Forwarding(転送)のこと。GoFがDelegationであると誤用して広まった。元は誤用なのにこれが多数派。 JavaScriptなどのプロトタイプベースオブジェクト指向言語などでよく出てくる真のDelegationのこと。Henry Liebermanが定義した。(※JSの場合は暗黙の委譲をよく使っているはず) .NET Frameworkの仕様で

    プログラマーを惑わせる3種類の委譲(委譲・Delegation/転送・Forwarding/.NET Delegates) - Qiita
    himabato
    himabato 2024/11/20
    イベントデリゲーション "デリゲートとは委譲のことです。他の何者かに、 委(ゆだ)ね、譲(ゆず)る ことです。"
  • 【JavaScript】Event Delegation への理解 ~動的に生成されたコンテンツを消したい~

    動的に生成されたコンテンツを消したい 動的に生成されたリストに対する操作(リストの削除)において筆者は Event Delegation(イベント移譲) を知らず、以下のような記述で事足りると思っていました。 const lists = document.querySelectorAll('ul li'); lists.forEach(list=>{ const deleteBtn = list.querySelector('button'); deleteBtn.addEventListener('click', ()=>{ list.remove(); }) }); この記述でも機能するのですが、それは静的コンテンツ(初めから用意されているコンテンツ)に対してのみでした。 例えば、先ほどの記述を以下のように書き換えてみます。 追加ボタンaddBtnを押すとコンテンツが追加されるものです

    【JavaScript】Event Delegation への理解 ~動的に生成されたコンテンツを消したい~
    himabato
    himabato 2024/11/20
    面白いなこれ 動的に生成されたコンテンツを削除する方法
  • 【JavaScriptの基本】イベント移譲 – ワードプレステーマTCD

    WordPressプラグイン「Gravity Forms」にマルウェア見つかる|想定される被害と対策 2025.08.08

    【JavaScriptの基本】イベント移譲 – ワードプレステーマTCD
    himabato
    himabato 2024/11/20
    同じハンドラを親要素で一括登録
  • イベント移譲(Event delegation)

    キャプチャリングとバブリングにより、 イベント移譲 と呼ばれる最も強力なイベントハンドリングのパターンの一つを実装することができます。 この考え方は、似たような方法で多くの要素を処理する場合に、それら一つ一つにハンドラを割り当てる代わりに、共通の祖先に1つハンドラを置きます。 ハンドラでは、event.target を取得し、実際にどこでイベントが起きたかを見てそれを処理します。 例を見てみましょう – 古代の中国の哲学を反映した 八卦掌図(Ba-Gua diagram) です。 これです: <table> <tr> <th colspan="3"><em>Bagua</em> Chart: Direction, Element, Color, Meaning</th> </tr> <tr> <td>...<strong>Northwest</strong>...</td> <td>...

    イベント移譲(Event delegation)
    himabato
    himabato 2024/11/20
    “イベント移譲(Event delegation)”
  • Event.currentTargetとEvent.targetの違いについて

    Event.currentTargetプロパティとEvent.targetプロパティの違い イベントハンドラやイベントリスナーを登録したあと、イベントが発生すると登録したコールバック関数が呼び出されます。この時、一番目の引数に発生したイベントの情報が格納された Event オブジェクトが渡されてきます。 <input type="button" value="button" id="xxx"> <script> function butotnClick(event){ console.log('Hello'); } let button = document.getElementById('xxx'); button.addEventListener('click', butotnClick); </script>

    Event.currentTargetとEvent.targetの違いについて
  • onmouseover/JavaScript - ホームページ入門サイト

    イベントハンドラのonmouseoverについて、サンプルコードを示しながら使い方を説明しています。 onmouseoverの基的な使い方 イベントハンドラのonmouseoverは、要素内にマウスカーソルが移動した時に処理を実行できます。 以下は、利用例です。 <div id="test-over"> ここにマウスを移動します。 </div> <script> const x = document.querySelector("#test-over"); x.onmouseover = function(){alert("テストです");}; </script> 赤字部分でonmouseoverイベントを登録しています。 実行例は、以下のとおりです。

    onmouseover/JavaScript - ホームページ入門サイト
    himabato
    himabato 2024/11/20
    属性としてのonmouseoverは現在は非推奨
  • JavaScriptで検知できるマウスのイベントについて調べた

    はじめに 久しぶりに JavaScript でマウスイベントを検知してゴニョゴニョやるコードを書いていたら「どういう時に発火するんだっけ?」がちょっと曖昧になっていました。 一回調べ直したメモがこの記事になります。 MDN に記載のあった以下の7イベントについて調べました。 検証に使ったHTML 簡単に動作を確認できるページを、以下のURLに用意して検証しました。 疑問点があれば、こちらを試すとわかりやすいかと思います。 中身は、検証したいイベントごとに親要素と子要素で1セットとなる構造にしています。 親要素に対して addEventListener() を設定してイベントを検知し、イベントが発火するとその時点のマウス座標を表示するようにしています。 検証 mousedown ポインティングデバイスのボタンが要素上で押されたときに発行されます。 onmousedown プロパティからも利用

    JavaScriptで検知できるマウスのイベントについて調べた
    himabato
    himabato 2024/11/20
    onmouseover
  • 三章第六回 mouseoverとmouseout — JavaScript初級者から中級者になろう — uhyohyo.net

    三章第六回 mouseoverとmouseoutこのページの最終更新日:2017年8月17日 今回は、mouseoverとmouseoutという2つのイベントについて詳しく解説します。 <!doctype html> <html> <head> <title>test</title> <style type="text/css"> p{ background-color:yellow; width:300px; height:300px; } </style> </head> <body> <p onmouseover="console.log('mouseover');" onmouseout="console.log('mouseout');">test</p> </body> </html> このサンプルでは黄色い部分がp要素で、これにはmouseoverとmouseoutのイベント

    三章第六回 mouseoverとmouseout — JavaScript初級者から中級者になろう — uhyohyo.net
  • DOMとは

    DOM の具体的な利用方法についてみていく前に、 DOM とはどういった時にどのように利用できるのかなど DOM に関する基事項について簡単に解説します。 DOM とは Document Object Model の略で HTML や XML 文書を取り扱うための API です。 DOM は標準化団体である W3C で以前は標準化が行われていましたが、現在では WHATWG によって標準化が行われています。 ・DOM Standard DOM はドキュメントオブジェクトモデルという名前の通り、 HTML や XML のドキュメントに含まれる要素や要素に含まれるテキストのデータをオブジェクトとして扱います。そしてドキュメントをオブジェクトが階層的に組み合わされたものとして識別します。 そして DOM では JavaScript など色々なプログラミング言語などから、オブジェクトを扱うための

    DOMとは
    himabato
    himabato 2024/11/19
    オブジェクトとノードの関係についてわかりやすかった
  • 三章第五回 イベントオブジェクト — JavaScript初級者から中級者になろう — uhyohyo.net

    三章第五回 イベントオブジェクトこのページの最終更新日:2017年11月13日 イベントオブジェクトというものが存在します。実は、イベントが発生したときはイベントオブジェクトを通してイベントの様々な情報を得ることができます。 イベントオブジェクトの取得では、そのイベントオブジェクトはどうすれば手に入るかというと、実は、addEventListenerで登録したイベントリスナの第1引数(最初の引数)に、イベントオブジェクトが渡されます。つまり、 <!doctype html> <html> <head> <title>test</title> </head> <body> <p>test</p> <script type="text/javascript"> var p = document.getElementsByTagName('p').item(0); var listener =

    三章第五回 イベントオブジェクト — JavaScript初級者から中級者になろう — uhyohyo.net
    himabato
    himabato 2024/11/17
    “ev.targetは、実際にイベントが起きた要素(のHTMLElement)を表しているのです。”
  • 移動: mouseover/out, mouseenter/leave

    container.onmouseover = container.onmouseout = handler; function handler(event) { function str(el) { if (!el) return "null" return el.className || el.tagName; } log.value += event.type + ': ' + 'target=' + str(event.target) + ', relatedTarget=' + str(event.relatedTarget) + "\n"; log.scrollTop = log.scrollHeight; if (event.type == 'mouseover') { event.target.style.background = 'pink' } if (event.ty

    移動: mouseover/out, mouseenter/leave
    himabato
    himabato 2024/11/17
    “イベント mouseenter/mouseleave は mouseover/mouseout のようなものです。それらもマウスポインタが要素を出入りするときにトリガされます。”
  • CSSStyleSheet: cssRules プロパティ - Web API | MDN

    himabato
    himabato 2024/11/17
    “スタイルシートの中のそれぞれのルールは、添字でアクセスすることができます。”
  • 五章第二回 CSSの構造 — JavaScript初級者から中級者になろう — uhyohyo.net

    五章第二回 CSSの構造このページの最終更新日:2018年7月29日 ご存知の通り、CSSは独自の文法を持っおり、したがって独自の構造を持っています。今回から、その構造と操作について解説します。 CSSStyleSheetCSSを構成するさまざまな要素はDOMでは全てオブジェクトで表されます。まずは、そのうちCSSStyleSheetという種類のオブジェクトについて解説します。 CSSStyleSheetは、CSSそのもので最も大きなまとまりで、 <!doctype html> <html> <head> <title>test</title> <style type="text/css"> body { background-color: aqua; } div { background-color: white; } p { background-color: yellow; } </

    五章第二回 CSSの構造 — JavaScript初級者から中級者になろう — uhyohyo.net
    himabato
    himabato 2024/11/17
    “例えば、最初のCSSStyleSheetを取得するには、document.styleSheets.item(0)またはdocument.styleSheets[0]とします。”
  • 【JavaScript入門】すぐわかる! style.displayプロパティを使ってみよう | 侍エンジニアブログ

    こんにちは、侍エンジニアブログ編集部です。JavaScriptの学習ははかどってますか? さっそくですが、今回はstyle.displayプロパティをご紹介します。 この記事ではstyle.displayプロパティの基から「displayやvisibilityとの違いとは?」などといった、より発展的な内容に関しても分かりやすく解説していきます。 style.displayプロパティとは みなさんはstyle.displayプロパティを使用したことはありますか? style.displayプロパティとは正確にはStyleオブジェクトのdisplayプロパティです。 Styleオブジェクトとは、要素のスタイルを自由自在に変更する為に使われるものです。例えば、要素の高さや幅、色や背景の指定など、様々な工夫を加えることが出来ます。 displayプロパティについて 要素のスタイルを変更出来るSt

    【JavaScript入門】すぐわかる! style.displayプロパティを使ってみよう | 侍エンジニアブログ
    himabato
    himabato 2024/11/17
    “style.displayプロパティとは正確にはStyleオブジェクトのdisplayプロパティです。”
  • Styleオブジェクト ≪ DOM ≪ JavaScript(ジャバスクリプト)リファレンス

    JavaScriptにおけるDOM(ドキュメントオブジェクトモデル)のStyleオブジェクトのプロパティ一覧。 Styleオブジェクトとは、要素のスタイル(Style属性)を扱うオブジェクト。JavaScriptでStyleオブジェクトを操作することで、要素のスタイルを動的に変更できる。 style.displayプロパティ 要素のスタイル属性のdisplayプロパティの値を取得、もしくは、設定するプロパティ。displayプロパティは、要素の表示形式を指定することができる。インライン要素をブロックレベル表示したり、ブロック要素をインライン表示したり、リスト項目形式で表示したりできる。 style.visibilityプロパティ 要素のスタイル属性のvisibilityプロパティの値を取得、もしくは、設定するプロパティ。visibilityプロパティは、要素の表示・非表示や、表の行や列の詰

    himabato
    himabato 2024/11/17
    “JavaScriptにおけるDOM(ドキュメントオブジェクトモデル)のStyleオブジェクトのプロパティ一覧。”
  • 動的なスタイル情報の利用 - Web API | MDN

    himabato
    himabato 2024/11/17
    “基本となる style オブジェクトは Stylesheet インターフェイスと CSSStylesheet インターフェイスを公開しています。”
  • JavaScriptでボタンやテキストの表示・非表示( visibility , display )を切り替える方法【初心者向けサンプルコード付き】 - hamatakeBlog

    おはようございます、hamatakeBlogです! JavaScript入門!この記事は、JavaScriptの学習をすでに始めているかた向けの記事となっています。 超初心者編は、こちら⇓からどうぞ! 【JavaScript★独学でも大丈夫★】初心者が3か月で案件デビューしたJavaScript勉強法!!その1 - hamatakeBlog 今回は ボタンやテキストの表示非表示切り替え処理を実行する方法 をご紹介します。 ・特定の条件の時に表示したい! ・ボタンが押されたら表示、もう一回ボタン押したら非表示にしたい! などの処理を実装したい人向けの記事となります! ということで、今回はボタンクリックした時、テキスト表示非表示切り替えをする処理を作っていきます! 完成イメージはこんな感じ⇓ ボタンクリックで下記テキスト表示切替! ---ここにテキスト表示--- テキストが表示されました! -

    JavaScriptでボタンやテキストの表示・非表示( visibility , display )を切り替える方法【初心者向けサンプルコード付き】 - hamatakeBlog
    himabato
    himabato 2024/11/17
    “style.visibility”
  • for 文のループ処理の中で const を宣言しても問題ないのはなぜですか? - プログラミングならドットインストール

    いつもお世話になってます。 tr要素とtd要素を生成しDOMツリーに加えていくfor文について、教えてください。 for文のループ処理の中で「tr」や「td」をconstで宣言すると、ループ処理された時に同じ名前の定数を再宣言することになるような気がして、カウンター変数と同じくletで宣言したくなってしまいます。(letでも今回のおみくじは出来ましたが)実際にfor文の外で const tr = document.createElement('tr'); const tr = document.createElement('tr'); のように書くと当然エラーになってしまいますが、for文の中で定数を宣言してもこのようなエラーが起こらないのはなぜでしょうか? 些末な事かもしれませんが、自分なりに調査・他の動画参照をしても疑問が解決できず、どうも引っかかってしまうのでご教示頂けると幸いです。

    for 文のループ処理の中で const を宣言しても問題ないのはなぜですか? - プログラミングならドットインストール
  • 【脱jQuery】jQueryを使わずにJavaScriptで要素を操作するメモ - Web production note

    【脱jQuery】jQueryを使わずにJavaScriptで要素を操作するメモ - Web production note
    himabato
    himabato 2024/11/16
    “単一取得のgetElementById()や、querySelector()は要素が存在しなければnullが返ってきますので、そのまま判別に利用できます。”
  • querySelectorのセレクタメモ - notebook

    ブックマークレットや、コンソールから特定の情報をサクッと取り出したいみたいなケースがあったので、いくつか調べたことをメモに残す セレクタの記述方法のサンプル集 基的に下記読めばOKって内容ではある CSS セレクター - CSS: カスケーディングスタイルシート | MDN developer.mozilla.org 特定の要素の子要素を指定 要素以下どこでもOK $('div img') div以下のどこかのimg要素 直下の要素 $('div > img') div直下のimg要素 要素の属性に条件指定する 完全一致 $('a[href="https://example.com"]') hrefがhttps://example.comのa要素 包含条件 $('a[href*="example"]') hrefにexampleが含まれるa要素 他にも前方一致(^=)、後方一致($=)な

    querySelectorのセレクタメモ - notebook