元スレ+ JavaScript の質問用スレッド vol.114 +
JavaScript覧 / PC版 /みんなの評価 :
501 = :
http://jsbin.com/vedemiyo/1/edit
スクロールバーを持つ二つのdivがあり、
左の要素には大きめのdiv,
右の要素には長い文字列を入れています。
どちらもクリックすると、eventのoffsetX/Yをコンソール出力します。
スクロールさせてクリックした場合、
左はスクロール値も考慮された、正しいオフセット座標が表示されます。
しかし右は、スクロール値が考慮されていないようです。
何故こうなるのでしょうか?
コンテンツが文字列の場合でも正しいオフセットを得るにはどうしたらいいでしょうか
502 = :
firefoxでは値すらなかったので調べたところ
http://api.jquery.com/mousemove/
Properties such as .clientX, .offsetX, and .pageX are available,
but support for them differs between browsers.
Fortunately, jQuery normalizes the .pageX and .pageY properties so that
they can be used in all browsers.
とありました
pageX, pageYを使うべきで、他のプロパティは非推奨みたいですね
ありがとうございました
504 = :
通常、contenteditableな要素でmousedownをpreventDefaultすると
フォーカスを防ぐことができます
しかしIE7/8では、フォーカスしてしまいます
ためしにclickやkeyupもpreventDefaultしてみましたが、やはりフォーカスしてしまいます
どうすればフォーカスを止めることができるのでしょうか?
506 = :
質問は「IE7/8でどうすればフォーカスを止めることができるのでしょうか?」です。
話をちゃんと聞きましょう。
510 = :
はいそうです。ドキュメント読んでないのが悪いのです。
511 = :
そうですか・・
ありがとうございました
512 = :
けっこうな間違いだと思うのに今まで正常に動いていたのが不思議だな
513 = :
>>504
ここをこうやってこうすれば止めることができる
514 = :
分からないなら黙ってろよカス
515 = :
カスっていうやつがカス
516 = :
>>513
本当ならもっと具体的にお願いします
>>514
汚い言葉はやめましょう
>>515
みんなとなかよくして下さい
517 = :
ノードがドキュメントルートかを
(node === document.body || node === document.documentElement)
で調べています。
ですが、ドキュメントルートへの追加は
document.body.appendChild
としています。
これは違和感がありますが、問題なく動いているようです
これでいいのでしょうか?
518 = :
>>517
意味がわからない。
ドキュメントルートは document.documentElement であって document.body はドキュメントルートではないと思うが。
それから「ドキュメントルートへの追加」の意味は?
それがドキュメントルートに子要素を挿入するという意味なら document.documentElement.appendChild とすべきでは?だと思うが。
> これは違和感がありますが、問題なく動いているようです
違和感の内容をもっと具体的に。
520 = :
そもそも、DOMにドキュメントルートという概念があるのかな?
HTML文書のルートには DOCUMENT_TYPE_NODE と DOCUMENT_NODE と ELEMENT_NODE が存在できるわけで唯一のドキュメントルートはないような
521 = :
ありがとうございます
documentElementとbodyの関係が良く分かってなかったです
bodyはdocumentElementの子で、
document.bodyはdocumentElementのchildNodeとしてのbodyのエイリアスのようですね
どっちもdocumentのプロパティなので混乱していました
522 = :
>>520
> そもそも、DOMにドキュメントルートという概念があるのかな?
あえてあげるなら、DOCUMENT_NODE が Document Object Model におけるドキュメントルートだろう
523 = :
イベントのオフセット座標って
イベントを投げた要素(target)を基準とした座標なのか
イベントハンドラで受け取った(currentTarget)を基準にした座標なのか
分かりにくいよね
だからfirefoxではオフセット座標を設定しないのかな?
524 = :
仕様書読めばわかることをわかりにくいといわれてもなあ…
525 = :
だって、ここにいるのはプログラマじゃないし。
デザインの延長であんなかっこいい動きするデザイン作ってって
クライアントに言われてjQueryプラグインぐぐるしか出来ないレベルですよ?
526 = :
ここにいるのがプログラマじゃなくてWebデザイナなんて誰も決めてないけどね
誰かさんはそうしたいみたいだけど
527 = :
同意を求められているならわかりにくいとは思わない
プログラマかWebデザイナかなんてどうでもいい
レッテルを貼る人は差別意識が高すぎる
528 = :
じゃあfirefoxがオフセット座標を設定しない理由を合理的に説明できるのかな?
やたら煽ってる自称プログラマーさんには無理だろうけど。プゲラ。
529 = :
>>528
煽った時点で君も同レベルだよ
532 = :
イベントのオフセット座標が何を示しているのかわからないのは俺だけか
イベント関連オブジェクトにoffsetの名のつくプロパティが見つからないのだが
http://www.w3.org/TR/DOM-Level-3-Events/
前からこういう質問はあるが、正式名称で書いてくれないものかね…
533 = :
オフセット座標としては HTMLElement#offsetLeft があるが、イベントは関係ないな
http://www.w3.org/TR/cssom-view/#extensions-to-the-htmlelement-interface
event.offsetX はIE独自拡張だったはずだが、これのことか?
http://msdn.microsoft.com/en-us/library/ie/ms534305.aspx
いずれにしても仕様通りに動かなければバグだし、仕様通りなら仕様としか言いようがない
Firefoxのみ再現するならMDNの仕様をあたるべきだろう
「わかりにくい」とか主観的な事はどうでもいいので仕様を確認する癖をつけたほうがいい
534 = :
独自拡張?chromeにもあるが?
535 = :
>>534
確かにあるようだが、標準仕様にある?
標準がないなら仕様が各々違っても仕方ない
536 = :
MouseEventじゃないEventにoffsetXがあるブラウザがあるってこと?
537 = :
2つのjsファイルがあり、それぞれで
$(function(){});
の範囲にある関数群を、同じ名前空間内に
マージ?する方法ってありますか?
複数のファイルに分割して開発されたライブラリを
1つのHTML内で取り込んで、それぞれの名前空間を
意識すること無く使いたい、という意図なのですが。。
538 = :
>>536
何を言いたいのかわからない
539 = :
標準になければ独自格調で間違ってない
よって、各々が足並みを揃える必要もなければ保証もない
540 = :
MouseEvent#offsetXは標準仕様にあるけど、Event#offsetXは独自拡張って話だよね
542 = :
>>540
いや、そんな話は誰もしてない
543 = :
>>541
>>533のCSSOM View Moduleにある
テンプレ>>5にも日本語訳へのリンクがある
544 = :
http://jsdo.it/Pontyasan/jrIY
ギャル文字に変換するモノを作っていたのだが、うまく動かん。
誰か助けて下さい
547 = :
>>544
> result = s.replace(new RegExp(origin[i],'g'),gal[i]);
result には一番最後に replace した結果が格納される
549 = :
>>547
あー...なるほど...
どうしたらいいんでしょうか。設計からやり直すべきですかね
550 = :
>>547
自己解決しました。
アドバイスありがとうございました
類似してるかもしれないスレッド
- + JavaScript の質問用スレッド vol.113 + (1001) - [97%] - 2014/1/25 12:46
- + JavaScript の質問用スレッド vol.118 + (1002) - [97%] - 2014/8/29 22:30
- + JavaScript の質問用スレッド vol.116 + (1002) - [97%] - 2014/7/1 0:45
- + JavaScript の質問用スレッド vol.115 + (1001) - [97%] - 2014/5/29 16:16
- + JavaScript の質問用スレッド vol.113 + (1001) - [97%] - 2014/3/15 21:30
- + JavaScript の質問用スレッド vol.119 + (1002) - [97%] - 2014/10/3 15:30
- + JavaScript の質問用スレッド vol.112 + (1001) - [97%] - 2013/11/27 16:46
- + JavaScript の質問用スレッド vol.111 + (1001) - [97%] - 2013/11/4 6:00
- + JavaScript の質問用スレッド vol.110 + (1001) - [97%] - 2013/10/13 14:01
- + JavaScript の質問用スレッド vol.134 + (1001) - [97%] - 2018/8/3 23:15
- + JavaScript の質問用スレッド vol.117 + (1009) - [97%] - 2014/8/5 3:30
- + JavaScript の質問用スレッド vol.104 + (1001) - [97%] - 2013/1/28 4:00
- + JavaScript の質問用スレッド vol.124 + (1001) - [97%] - 2015/7/16 1:30
- + JavaScript の質問用スレッド vol.144 + (288) - [97%] - 2020/5/17 20:00
- + JavaScript の質問用スレッド vol.121 + (1001) - [95%] - 2015/1/1 18:30
- + JavaScript の質問用スレッド vol.120 + (1002) - [95%] - 2014/11/8 1:15
- + JavaScript の質問用スレッド vol.122 + (1004) - [95%] - 2015/2/14 4:45
トップメニューへ / →のくす牧場書庫について