[過去ログ] + JavaScript の質問用スレッド vol.117 + (1001レス)
前次1-
抽出解除 必死チェッカー(本家) (べ) 自ID レス栞 あぼーん

このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
リロード規制です。10分ほどで解除するので、他のブラウザへ避難してください。
138: 連続投稿って言われたからIDかわる [sage] 2014/08/10(日) 05:21:25.67 ID:Jkr9svTU(1/7) AAS
ほらねw >>137
137(2): デフォルトの名無しさん [sage] 2014/08/10(日) 05:13:57.09 ID:Sc++4qqi(8/11) AAS
>>134
そちらこそ event.currentTarget と event.target の違いを理解してるのか?
勝手に難癖つけていることにしないで欲しいんだが

this値は event.currentTarget と同義
DOM 3 辺りからこの規約になったはずだが、もともとはDOM 規定に this 値は入ってなかった
この場合の event.currentTarget は #sample になるので、event.currentTarget で参照可能なのは本質的におかしい
でDOM 3の規約がどうとかいってるでしょ?
だからjQueryを使えって言ってるの。

わからない人に説明しておくと、eventは特にIEが
W3C仕様に長らく対応していなくてevent.targetが
使えるようになったのはIE9から

こことか見てみよう。
外部リンク:ichijo3.tumblr.com

で、jQueryのeventは、jQueryが各ブラウザの問題を解決して
IE6等を含むどのブラウザでもW3C規約に準拠した実装になってる。

だから>>137でごちゃごちゃいっている罠にはまらなくて済む。
実際に>>122
122(6): デフォルトの名無しさん [sage] 2014/08/10(日) 04:01:46.88 ID:Sc++4qqi(2/11) AAS
>>110,116
俺ならこうする
外部リンク:jsfiddle.net
とか古いIEで動かないからさ。

そういう本質的でない部分を考えるのは時間の無駄。
139
(1): デフォルトの名無しさん [sage] 2014/08/10(日) 05:25:34.22 ID:Jkr9svTU(2/7) AAS
> この場合の event.currentTarget は #sample になるので、event.currentTarget で参照可能なのは本質的におかしい

これは単にjQueryを知らないだけだねw

this値は event.currentTarget と同義ってのは間違い。

thisってのは呼び出し元が自由に決められるもの。
だからこの場合のthisは、jQueryの仕様で決まる。
それを知らないだけ。
141
(1): デフォルトの名無しさん [sage] 2014/08/10(日) 05:57:58.06 ID:Jkr9svTU(3/7) AAS
OK、OK、君はDOMに準拠してないのが嫌い。

俺は、ブラウザ間での互換性など
ハマる部分があるから、初心者にこそ
jQueryを使うのをおすすめする。

こういうことだね?
144
(1): デフォルトの名無しさん [sage] 2014/08/10(日) 06:53:48.66 ID:Jkr9svTU(4/7) AAS
>>142
142(1): デフォルトの名無しさん [sage] 2014/08/10(日) 06:07:21.82 ID:Sc++4qqi(10/11) AAS
>>141
俺のネガティブな部分とお前のポジティブな部分の比較が公平ではないが、当然意識してやってるんだろうな?
煽り立てて話すことしか出来ないなら、お前と話し続ける意義は感じない
別に話し続けなくていいよ。っていうか
これ以上レスしないなら俺が助かる。

で、jQueryは初心者こそ使うべきもの。
DOMの面倒な部分、複数の要素に一括で属性や
イベントを割り当てることや、各ブラウザの違いによる問題に
はまらなくて済むから。

実際に>>122が動かないコードであることを証明している。
最初から一部のブラウザで対応で書くのが大変なことを意味している。
147
(1): デフォルトの名無しさん [sage] 2014/08/10(日) 12:57:47.05 ID:Jkr9svTU(5/7) AAS
>>145
145(1): デフォルトの名無しさん [sage] 2014/08/10(日) 12:11:05.82 ID:Sc++4qqi(11/11) AAS
>>144
> 実際に>>122が動かないコードであることを証明している。
addEventListener, event.target は IE9+ で動作する
現在の主要環境では特に問題はないと思うが、具体的にどのブラウザで動かない?
attachEvent を使えば IE8- もサポート可能だが、更新の切れたWindows XPをサポートするのは特殊なケースになる
外部リンク:jsfiddle.net

> で、jQueryは初心者こそ使うべきもの。
初心者は基礎から学ぶもの
>>136でjQueryから学ぶことに弊害は説明した
更に言えば、クロスブラウザは初心者でも当然学ぶもの
DOM標準でかけなくてjQuery依存するとjQueryで網羅できない状況に勅命したときに苦労するし、クロスブラウザ方法がわからないだろう
jQueryから他のライブラリに移行したり、DOMに移行する時にも「jQueryでの〜はDOMではどう書きますか?」という疑問が発生するはずだが、jQuery独自仕様に慣れてしまうとDOMの書き方に戸惑いを覚えて納得できない可能性は十分にあるし、その手の質問は多くある
長期的に考えれば、DOMから学ぶほうが効率が良いと思う

どちらにしても、あとは質問者が判断することだろう
> addEventListener, event.target は IE9+ で動作する
だが、IE7はまだサポート中であり
一番利用所が多いIEはIE8というデータもある。

外部リンク[aspx]:marketshare.hitslink.com

IE7のサポートが切れる2016年1月まで、まだ1年半以上もある。
148
(1): デフォルトの名無しさん [sage] 2014/08/10(日) 13:18:34.47 ID:Jkr9svTU(6/7) AAS
> 初心者は基礎から学ぶもの

ぶっちゃけDOMが基礎っていうのもおかしいんだよね。

基礎っていうのは、何年たっても使えるものだが
DOMはそうではない。あれはブラウザが搭載している
API(ブラウザとバージョンによって違うもの)

クロスブラウザとか、本来考えなくていいことなはずなんだよ。
152
(1): デフォルトの名無しさん [sage] 2014/08/10(日) 19:25:49.40 ID:Jkr9svTU(7/7) AAS
俺が言ってる基礎というのは、プログラミング一般における基礎であり
特定の言語やブラウザには依存しないもの。

DOMは標準化されているが、これはプログラミングの基礎には値しない
ただの一ライブラリだ。しかも巨大で全貌を把握している人なんかほとんどいないだろう。
現在のDOM3はリファレンスからして曖昧。各ブラウザで動作に違いがあるのは
IEのせいではなくて、DOMそのものに問題がある。

jQueryは標準化こそされていないが、その考え方は現代の
プログラマにとって必須とも言える関数型言語をベースとしており
応用の範囲が広い。

> また、DOM は基本的には変わらないので DOM L2は今でも使える
DOMが変わらないなんてバカバカしい。
現在DOM4が策定中であり、非推奨の機能は消える運命にあるし、
またブラウザでまともに実装されてないので、古いやり方と新しいやり方が
混在し、またブラウザ固有のやり方をしないといけない場合もある。

DOM2のMutation Eventはどのブラウザで使えるのか言えるか?
これは問題が多いからDOM4ではMutation Observersに変わるわけだが、
どのブラウザで対応していて、どのブラウザからMutation Eventが使えなくなるのかぱっと言えるか?
前次1-
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル

ぬこの手 ぬこTOP 0.047s