undefined in eventAttributes

50
undefinedin.net 2015/6/18 wrote by ironiqu

Transcript of undefined in eventAttributes

Page 1: undefined in eventAttributes

undefinedin.net2015/6/18 wrote by ironiqu

Page 2: undefined in eventAttributes

undefined in eventAttributes

今回は、 Elementの Eventについて覚えていきます

Page 3: undefined in eventAttributes

今日のアジェンダ

1.前回の復習2. Elementの Eventってなに?3. Eventの種類4. Eventの設定方法5. eventAttributesってみる6.他の言語環境の Event?7.今週の LT

60分ほどおつきあいください

Page 4: undefined in eventAttributes

前回の復習

前回について何か覚えてる方!

Page 5: undefined in eventAttributes

前回の復習

Elementの取得方法についてですね

Page 6: undefined in eventAttributes

前回の復習

Elementの取得の呪文を解説して取得を実演しました

では、 idでの取得をどなたか教えてください

Page 7: undefined in eventAttributes

前回の復習

idの値を使って取得

<p id=”text”> テキスト </p>

document.getElementById(“text”)

Page 8: undefined in eventAttributes

前回の復習

classの値を使って取得

<p class=”text”> テキスト </p>

document.getElementsByClassName(“text”)

Page 9: undefined in eventAttributes

前回の復習

詳細につきましては前回のスライドを見てください

Page 10: undefined in eventAttributes

Elementの Eventってなに?

では、本題

Eventについてです

Page 11: undefined in eventAttributes

Elementの Eventってなに?

Event

出来事、事象weblio辞書より引用

Page 12: undefined in eventAttributes

Elementの Eventってなに?

言葉としての Eventの意味はご存知だと思います

では、Webページに於ける Eventとは?

Page 13: undefined in eventAttributes

Elementの Eventってなに?

Webページに於ける Eventは

アクセスした瞬間より始まりページを閉じる瞬間までに発生する事象

Page 14: undefined in eventAttributes

Elementの Eventってなに?

みなさんは、現代っ子なのでWebページを閲覧すると思います

Page 15: undefined in eventAttributes

Elementの Eventってなに?

Webページを閲覧した時

みなさんのどのような行動がEventとなるでしょうか

Page 16: undefined in eventAttributes

Elementの Eventってなに?

少なくとも、マウスでの操作は

ほとんど Eventとなります(ホイールクリックの非対応ブラウザあり)

Page 17: undefined in eventAttributes

Elementの Eventってなに?

近年では、タッチスクリーンの携帯電話でWebページを閲覧する人が増加傾向です

画面タッチの行動も Eventで認識しますhttp://www.w3.org/TR/touch-events/ 2013年に勧告

Page 18: undefined in eventAttributes

Elementの Eventってなに?

キーボードで入力する行動も Event

Page 19: undefined in eventAttributes

Elementの Eventってなに?

ブラウザのサイズ変更やスクロールも Eventとなる

ブラウザのアクティブであるかも Eventとなる

Page 20: undefined in eventAttributes

Elementの Eventってなに?

知名度の低い Eventとして

コピー カット ペースト

これらも Eventとなります

Page 21: undefined in eventAttributes

Eventの種類

Eventは、すべての Elementや対象に平等に同じものが

備わっているわけではありませんhttp://www.w3.org/TR/DOM-Level-2-Events/events.html#Events-eventgroupings-htmlevents-h3

Page 22: undefined in eventAttributes

Eventの種類

と、いいますと?

使える Elementには、制限があります

Page 23: undefined in eventAttributes

Eventの種類

Webブラウザを司るwindowという対象 (bodyタグ )には

onresize onload onbeforeunload などなど window専用の Event

http://www.w3.org/TR/2009/WD-html5-20090212/browsers.html#window

Page 24: undefined in eventAttributes

Eventの種類

Elementでは

onclick onkeydownなどなど

http://www.w3.org/TR/DOM-Level-3-Events/#h-event-types-list

Page 25: undefined in eventAttributes

Eventの種類

Form(inputタグ )での Event

onselect onchange onsubmitなどなど

Page 26: undefined in eventAttributes

Eventの種類

マウスやキーボードなどの操作による種類

http://www.w3.org/TR/DOM-Level-3-Events/

Page 27: undefined in eventAttributes

Eventの種類

実際に、大量にある Eventを覚えるのは大変です

なので、どのような Eventがあるかおさえておけばよいでしょう

Page 28: undefined in eventAttributes

Eventの種類

DOMの Eventの一覧を確認したい場合、W3Cの勧告では非常に探しづらいので

Wikipediaで綺麗にまとまっているのを参考にしたらよいと思います

https://en.wikipedia.org/wiki/DOM_events

Page 29: undefined in eventAttributes

Eventの設定方法

Eventを設定するには、

いくつかの準備が必要です

Page 30: undefined in eventAttributes

Eventの設定方法

初見だと大変、煩わしいですが定型文ですので、頑張って覚えましょう

Page 31: undefined in eventAttributes

Eventの設定方法

まずは、 function

一連の処理の塊の作り方を覚えましょう

Page 32: undefined in eventAttributes

Eventの設定方法

function(){ /* 処理 */};

functionという文字と括弧の配置を覚えましょう

こっそりと存在するセミコロンも忘れずに

Page 33: undefined in eventAttributes

Eventの設定方法exam = function(){ alert(“test”);};

examという箱に「 =」で functionを設定してあげます

これで、 examを実行すると中の alert(“test”);が

実行されるわけですね

Page 34: undefined in eventAttributes

Eventの設定方法

Elementに Eventを設定してあげるには、

先の functionを設定するだけです

Page 35: undefined in eventAttributes

Eventの設定方法

では、実際に設定してみると次のようになります

Page 36: undefined in eventAttributes

Eventの設定方法

document.getElementById(“button”).onclick = function(){ alert(“click now!”);};

Elementを取得しますElementの Eventに対して

functionを設定します

Page 37: undefined in eventAttributes

Eventの設定方法

今の例は、scriptで設定した場合です

次の例は、 Elementに直接設定したものです

Page 38: undefined in eventAttributes

Eventの設定方法

<button id=”button” onclick=”alert(\”click now!\”);”>click</button>

Elementを記述しますElementの Eventに対して

functionを設定します

Page 39: undefined in eventAttributes

Eventの設定方法

”alert(\”click now!\”);”

この部分は注意が必要です!「”」の内側に「”」を書く場合は「”」で囲った部分と競合するため

「 \(バックスラッシュ )」を付けてあげましょう

というルール

Page 40: undefined in eventAttributes

Eventの設定方法

これで、みなさんは、Eventマイスターになれました

おめでとうございます(拍手)

Page 41: undefined in eventAttributes

eventAttributesってみる

では、いくつかの Eventを設定した例を実際にみてください

Page 42: undefined in eventAttributes

eventAttributesってみる

入力されている文字をリアルタイムに別の Elementで表示

eventAttribute_input.html

Page 43: undefined in eventAttributes

eventAttributesってみる

スクロールされたときに Elementをタイミングをずらしてスクロール(パララッ

クス)

eventAttribute_scroll.html

Page 44: undefined in eventAttributes

eventAttributesってみる

マウスの移動に合わせてElementが追随(マウスストーカー)

eventAttribute_move.html

Page 45: undefined in eventAttributes

他の言語環境の Event?

基本的にユーザーインターフェースを伴うアプリケーション開発では

Eventは同じように実装できます

Page 46: undefined in eventAttributes

他の言語環境の Event?

Android(Java)

button.setOnClickListener(new View.OnClickListener(){ public void onClick(View v){ AlertDialog.Builder alertDialogBuilder = new AlertDialog.Builder(this); alertDialogBuilder.setMessage("click now!").show(); }});

Page 47: undefined in eventAttributes

他の言語環境の Event?

Windows(C#)

this.btn.Click += delegate(object sender, RoutedEventArgs e){ MessageBox.Show("click now!");};

Page 48: undefined in eventAttributes

今週の LT

s.mの

JavaScript on Photoshop

Page 49: undefined in eventAttributes

今週の LT

JavaScriptを絡めた解説の LTJavaScriptで作った作品の努力や

レビューなど、どしどし募集

Page 50: undefined in eventAttributes

undefined in eventAttributes

参加いただきありがとうございました

次回は eventListener(更に深く)