のくす牧場
コンテンツ
牧場内検索
カウンタ
総計:127,062,974人
昨日:no data人
今日:
最近の注目
人気の最安値情報

    元スレ+ JavaScript の質問用スレッド vol.114 +

    JavaScript覧 / PC版 /
    スレッド評価: スレッド評価について
    みんなの評価 :
    タグ : 追加: タグについて ※前スレ・次スレは、スレ番号だけ登録。駄スレにはタグつけず、スレ評価を。荒らしタグにはタグで対抗せず、タグ減点を。
    ←前へ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 次へ→ / 要望・削除依頼は掲示板へ / 管理情報はtwitter
    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
    自己解決しました。
    アドバイスありがとうございました


    ←前へ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 次へ→ / 要望・削除依頼は掲示板へ / 管理情報はtwitterで / JavaScript一覧へ
    スレッド評価: スレッド評価について
    みんなの評価 :
    タグ : 追加: タグについて ※前スレ・次スレは、スレ番号だけ登録。駄スレにはタグつけず、スレ評価を。荒らしタグにはタグで対抗せず、タグ減点を。

    類似してるかもしれないスレッド


    トップメニューへ / →のくす牧場書庫について