タグ

Javascriptとeventに関するn2sのブックマーク (44)

  • Make a resizable element - HTML DOM

    n2s
    n2s 2020/11/20
    resizableをjQueryなしで実装 / マウスボタンの押し離し毎にaddEventListener(), removeEventListener() やってる。やられた、その発想はなかったw
  • イベントの作成と起動 - 開発者ガイド | MDN

    この記事では、 DOM イベントを作成して処理する方法を説明します。このようなイベントは、一般に、ブラウザー自体によって起動されたイベントとは対照的に、合成イベントと呼ばれます。 イベントは、次のように Event コンストラクターを使用して作成できます。 var event = new Event('build'); // Listen for the event. elem.addEventListener('build', function (e) { /* ... */ }, false); // Dispatch the event. elem.dispatchEvent(event); 上記のコード例は EventTarget.dispatchEvent() メソッドを使用します。 このコンストラクターは、ほとんどの最新のブラウザーでサポートされています (Internet E

    イベントの作成と起動 - 開発者ガイド | MDN
    n2s
    n2s 2018/02/27
    element.dispatchEvent()に与えるEventオブジェクトはcreateEvent()→initEvent()とかしなくてもnew Event("click")が使える(IE以外)
  • Javascriptの実行順序(Web Worker、非同期処理、イベント ) | iret.media

    cloudpack あら便利カレンダー 2017 16日目の記事です。 JavaScriptには非同期処理やイベント発火で実行されるもの、またWeb Workersを利用した別スレッドでの実行など記述した順序どおりではない実行タイミングのものがわりと多用されます。 そこでふと気になったのでそれぞれの実行順序ってどうなっているのか Web Workersの別スレッドで実行された結果がどのタイミングで受取ったイベント発行されるのか気になったので サンプルのコードを書いてざっくり調査してみました。 実行される処理 Web Worker1での1つめの処理 Web Worker2で2つめのループ処理 Web Worker1で3つめのループ処理 非同期で実行される処理(setTimeout) べた書きでのループ処理1 べた書きでのループ処理2 ボタンクリックでのイベント発火 記述した順序は上に書いたと

    Javascriptの実行順序(Web Worker、非同期処理、イベント ) | iret.media
  • フォントジャンプ率のセオリーを考える | フォントの話 | つみきブログ

    株式会社つみき UI/UX事業終了のお知らせ 拝啓 時下ますますご清祥のこととお喜び申し上げます。 平素より格別のご高配を賜り、厚く御礼申し上げます。 この度、弊社は創業以来続けて参りましたUI/UX事業(受託制作事業)につきまして、2024年4月30日をもって終了することを決定いたしました。 今後は、弊社の主力事業であるFilmarksをはじめとした、映像関連事業に注力して参ります。 ご愛顧を受け賜りました皆様には、深く感謝申し上げますとともに、ご理解賜りますようお願い申し上げます。 敬具 株式会社つみき 代表取締役社長 鈴木 貴幸 事業終了予定日:2024年4月30日 biz@tsumikiinc.com

    フォントジャンプ率のセオリーを考える | フォントの話 | つみきブログ
  • DOM Performance (JSNext Bulgaria)

    In the client-side development we manipulate the DOM very often. Some of these manipulations take some time to execute, others take even more time. In a complicated JS-based software, it is very important to find the optimal approaches in order to get best performance. We will meet few very common cases, where standard DOM manipulations are very expensive, and we will see what is the optimal way t

    DOM Performance (JSNext Bulgaria)
  • ページ内に仕掛けられた全てのEventListenersの設定元の一覧をダンプし、必要な対策を施す方法 - latest log

    ページ内に仕掛けられた全てのEventListenersの設定元の一覧をダンプし、必要な対策を施す方法 - latest log
    n2s
    n2s 2014/09/05
    getEventListeners()。調べたところChromeの他にFirefoxにもある模様。
  • preventDefault()で無効にしたイベントを有効にする方法

    preventDefault()で無効にしたイベントを有効にする方法を紹介します。 1.はじめに preventDefault()は、「preventDefault()について」で紹介したとおり、実行したイベントがキャンセル可能である場合、イベントをキャンセルするためのメソッドです。 が、preventDefault()でイベントキャンセルしたあと、再びイベントを有効にする方法が分かりません。 ということで、preventDefault()で無効にしたイベントを有効にする方法について紹介します。 2.jQueryを使ってpreventDefault()で無効にしたリンクを有効にする ここではa要素を使って、preventDefault()で無効にしたリンク先への遷移を再び有効にするサンプルを用います。 jQueryでは、preventDefault()メソッドをon()とoff()と組み合

  • サイト速度とonload再考 | ゆっくりと…

    単にウケ狙いなら「革新的!GAのページ平均読み込み時間を劇的に速くする方法」とか「もう3rdパーティーに邪魔させない、超高速スクリプト読み込み術」(笑)とかの煽りタイトルを付けるところですが、今回はもっと質的なことを論じてみたいと思います。 「プログレッシブレンダリングでUXを向上させるJS非同期読み込みのベストプラクティス」では、スクリプトの読み込みと実行を window.onload 対象から切り離し、見た目のページ速度を速くする方法について書きました。この方法は既存のスクリプトを書き換える必要があるため、Stoyan Stefanov によって 実験的に実装された Facebook SDK か、自前のスクリプトにしか適用できませんでした。 しかし今回、HatenaTwitterPocket、Disqus など、他の 3rd パーティ製スクリプトにも適用できる方法 − “進化

  • はてなグループの終了日を2020年1月31日(金)に決定しました - はてなの告知

    はてなグループの終了日を2020年1月31日(金)に決定しました 以下のエントリの通り、今年末を目処にはてなグループを終了予定である旨をお知らせしておりました。 2019年末を目処に、はてなグループの提供を終了する予定です - はてなグループ日記 このたび、正式に終了日を決定いたしましたので、以下の通りご確認ください。 終了日: 2020年1月31日(金) エクスポート希望申請期限:2020年1月31日(金) 終了日以降は、はてなグループの閲覧および投稿は行えません。日記のエクスポートが必要な方は以下の記事にしたがって手続きをしてください。 はてなグループに投稿された日記データのエクスポートについて - はてなグループ日記 ご利用のみなさまにはご迷惑をおかけいたしますが、どうぞよろしくお願いいたします。 2020-06-25 追記 はてなグループ日記のエクスポートデータは2020年2月28

    はてなグループの終了日を2020年1月31日(金)に決定しました - はてなの告知
  • 要素リストをループで回して addEventListener するみたいな、よくあるサンプルを断罪してみる - hogehoge @teramako

    function setButtonHandler () { var buttons = document.querySelectorAll(".hogeButton"); for (var i = 0, len = buttons.length; i < len; ++i) { (function(n) { buttons[i].addEventListener("click", function() { alert(n); }); }(i)); } } って感じのコードってあるじゃないですか。JavaScript で陥りがちな落とし穴を解決するみたいな感じで。 でも、これって当は良いコードじゃないよね。 (function(n) {.... }(i)) が格好わるいっていうか、毎回即時関数実行かよっていうね click のハンドラーも同じコードなのにループ数分生成しちゃってるよねー

    要素リストをループで回して addEventListener するみたいな、よくあるサンプルを断罪してみる - hogehoge @teramako
    n2s
    n2s 2013/06/18
    addEventListener時に毎回無名関数を作っちゃうところをdataset(data-*属性)やバブリングで解消。忘れがち(自戒)だけど使いこなせると強力 / あとはhandleEvent付きObjectがあれば…いやこれも関数は共有でもObjectは毎回作るし…
  • イベントハンドラの this と event.target, +α - hogehoge @teramako

    [JavaScript]for 内でイベントリスナとか登録するときにやっちゃいがちな間違い. とその対処法を3つほど. | TM Life 対応その2: event.targetを使う と 対応その4 : this を使う について 上記サイトで書いてあることが間違っているというわけじゃないんだけど、少し補足したい。 event.target その Event オブジェクトには発火元となった要素を target プロパティとして保持しています. 合っています。 が、on* や addEventListener した要素と target は必ずしも一致しない点には注意した方が良いと思います。 <ul id="list"> <li>foo <b>hoge</b></li> <li>bar <b>hoge</b></li> </ul> var list = document.getElement

    イベントハンドラの this と event.target, +α - hogehoge @teramako
  • HTML / DOM におけるキーボードイベント周りの話 - ひだまりソケットは壊れない

    最近キーボードショートカットの実装をしようと思ってキー入力によるイベント周りについて調べてみたのだけれど、日語でまとまった情報が見つからなかったので、キーボードショートカットの実装に必要そうな内容を簡単にまとめておこうと思う。 キーボードショートカットに限らず、キー入力によるイベント周りの何かをする場合には参考になると思う。 記事では、DOM 3 Events spec の 2012-09-06 の版を参照しており、将来の版では変更されている可能性がある。 最新の版は下記リンクから確認のこと。 Document Object Model (DOM) Level 3 Events Specification (DOM 3 Events spec の最新安定板) keydown イベント、keypress イベント、keyup イベントについて keydown イベント は、キーが押された

    HTML / DOM におけるキーボードイベント周りの話 - ひだまりソケットは壊れない
  • addEventListener()の第3引数の意味とかをちゃんと理解する為のメモ - 今日もスミマセン。

    Web上でUIをマジメに作ろうとするとイベントの仕組みをちゃんと理解しておく必要がある。 jQueryとか便利なライブラリつかえばある程度簡単にできるんだろうけど、いろいろ制約あってそれらのライブラリが使えない場合もあるので、ちゃんと理解するためにメモしておく。 イベント伝播の順番 W3Cのドキュメントに分かりやすい図があったので引用する。 The capture phase: the event is dispatched to the target's ancestors from the root of the tree to the direct parent of the target node. The target phase: the event is dispatched to the target node. The bubbling phase: the event

    addEventListener()の第3引数の意味とかをちゃんと理解する為のメモ - 今日もスミマセン。
  • ページを移動(離脱)するときにjQueryで警告を出す方法

    Facebookなどでフォーム入力中にページを移動(離脱)しようとすると警告が表示されます。 この仕組みをjQueryで実装する方法を紹介します。jQueryは投稿時点の最新バージョン1.9.1を利用しています。 1.ページを移動するときに警告を出す ページを移動するときに警告を出すには、onイベントにbeforeunloadイベントを設定します。 <script src="//ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script> <script> $(function(){ $(window).on('beforeunload', function() { return '投稿が完了していません。このまま移動しますか?'; }); }); </script> <form method="post" acti

    n2s
    n2s 2013/03/11
    beforeunloadイベント / 重箱の隅ですが、.on()と.change()、.click()が混ざってるのは個人的に見てて落ち着かない…
  • http://www.machu.jp/posts/20130211/p01/

  • jQueryコードリーディング: bind(),live(),delegate() - &lt;s&gt;gnarl,&lt;/s&gt;技術メモ”’&lt;marquee&gt;&lt;textarea&gt;¥

    おはようございます。コードリーディング第四回です。 jQueryには、特定のエレメントにイベントを割り当てるメソッドとしてbind,live,delegateが存在します。今回は、これらのメソッドの実装を追ってみたいと思います。 対象 jQuery 1.5.0 これまでのエントリ 配列、each 初期化、extend セレクタを渡した場合の処理 はじめに bind,live,delegateそれぞれの公式リファレンスは以下です。 http://api.jquery.com/bind/ http://api.jquery.com/live/ http://api.jquery.com/delegate/ また、それぞれのメソッドの違いを解説したエントリは以下です The Difference Between jQuery's .bind(), .live(), and .delegate()

    jQueryコードリーディング: bind(),live(),delegate() - &lt;s&gt;gnarl,&lt;/s&gt;技術メモ”’&lt;marquee&gt;&lt;textarea&gt;¥
  • jQueryのliveやdelegateは実際何をやってるのか

    jQueryにはイベント制御のAPIとして、clickやmouseoverの元になるbindの他に、同じような呼び出し方のliveやdelegateが提供されている。 bindはDOM APIで提供されているaddEventListenerのwrapperだが、liveは以下のような実装になっている。 1. 第一引数のイベント名でdocument objectにlive用のイベントハンドラーをbindする 2. 1で設定したイベントハンドラー内でdocument object内に存在する要素上で発生したイベントを全てキャッチする ・イベントの発生元要素がbind時に設定されたセレクタに一致する場合、第二引数に指定されたユーザーのイベントハンドラーを呼び出す これはもともと「多量の要素に対してbindするとUIをロックしてしまう」という問題の対策として知られていた手法だが、liveはそれをj

    jQueryのliveやdelegateは実際何をやってるのか
    n2s
    n2s 2013/01/06
    via id:entry:40965226 / on()は内部でやってることは変わらないのかな?
  • jQuery入門講座 使い方-デリゲートとon

    索引 ├ 使い方 目次 └ バグノート(1) 1章:jQuery入門 ├ jQueryのメリット ├ readyイベント ├ オブジェクトについて ├ メソッドについて ├ 情報の取得 ├ イベント(1) ├ イベント(2) └ 初歩なサンプル 2章:jQuery基礎 ├ thisについて(1) ├ thisについて(2) ├ jQueryとDOM要素 ├ 簡単な演出 ├ thisから辿る ├ 汎用的なアニメ(1) ├ 汎用的なアニメ(2) ├ アニメの停止 ├ アニメを管理する仕組み └ 汎用的なアニメ(3) 3章:jQuery発展 ├ イベントフロー(1) ├ イベントフロー(2) ├ イベントフロー(3) ├ 画像のプリロード ├ jQueryの高速化 └ メソッドチェーン 番外編:研究 ├ イベントを外す ├ cssアニメとの連携(1) ├ cssアニメとの連携(2) ├ css

    jQuery入門講座 使い方-デリゲートとon
  • Blogger

    Google のウェブログ公開ツールを使って、テキスト、写真、動画を共有できます。

    n2s
    n2s 2012/12/06
    JSとjQuery両方のイベント処理について勉強しないと
  • jQueryの.bind(), .live(), .delegate()の違い

    The Difference Between jQuery’s .bind(), .live(), and .delegate() - Alfa Jango Blog http://www.alfajango.com/blog/the-difference-between-jquerys-bind-live-and-delegate/ jQueryの.bind(), .live(), .delegate()違いや仕組みの理解、また.delegate()の方が.live()より優れている理由について書かれています。 内容を簡単に書き出すと以下のようなことについて書かれています。 $('a').bind('click', function() { alert("That tickles!") }); .bind()は$(‘a’)に対してイベントを設定してる。 $('a').live('clic

    jQueryの.bind(), .live(), .delegate()の違い
    n2s
    n2s 2012/12/06
    まだon/offがなかった頃の記事かな。on/offについては追記でid:entry:61416126を紹介。