希哲13年8月31日

描主宇田川浩行K#F85E
下描き希哲13年(2019年)
08月28日 03:09
利承
ライセンス
希哲館普通利承(KULクール
「なんでもメモ」サービス、デライト公開中!
https://dlt.kitetu.com

広告

一覧

=}{*}

とにかくこの数日は,機転を試されるようなばかりに突き当たって精神的な消耗が激しかった。

=}{*}

デルンを本格的に使い込むと,複数のウィンドウ)を開いて全知検索写し貼りコピペ),輪郭引き入れ,などを繰り返すことになるので,これも小さなことのようで避けて通れない問題だった。これでようやく解決した。

=}{*}

これに気付いた時は,流石にもう途方にくれかけた。ここまでの回り道は全て無駄だったのか……と思ったのだが,落ち着いて考えてみると,ドラッグイメージ輪郭情報を表示するのは最初だけで良い。確かに,最初はどの輪郭を掴んだのか分かった方が安心感がある。でも,別窓に引きずろうとしている時点で行き先も決まっているはずで,むしろ最小化した方が視界を遮らない。つまり,この制約利点と捉えるようにした。

=}{*}

ここまで来ればもう大丈夫だろうと思ったのも束の間,今度は別窓で DataTransfer.getData() が効かない。引きずっている輪郭の情報をドラッグイメージに表示したかったので,これが出来ないことになる。結局,これは制危セキュリティ)上の仕様と判明。つまり,以下のようになる。

=}{*}

Stack Overflow で,window まで浮かんで来た dragenter, dragleave事象目標Event.target)を全部記録して,空になった時に窓外に出たことにする,という交度を見つけた。これをカウンター式に少し変えて上手く捉えられるようになった。

=}{*}

独自のドラッグイメージは,昔からある典型的な JS のギミックで別に技術的に難しいことはない。ただ,窓(ウィンドウ)枠を越えてドラッグしているように見せるのが意外に難しかった。windowdragenter, dragleave あたりを使えば何とかなるだろうと思っていたが,DOM 要素発泡バブリング)があるので厳密に出入りが把捉出来ない。

=}{*}

Chrome でなぜかドラッグ可能要素が選択不能になる問題とか,WindowsDataTransfer.setDragImage() が効かない問題とか。独自にドラッグイメージを実装したはいいが窓枠を越えるのが意外に難しかったり,しまいには引き摺っている途中の DataTransfer 読み込みが禁止されていることに気付いたり……。

=}{*}

さて,デライト再公開の再々延期は確定しているので,経過報告と一人反省会でもするか……。

=}{*}

事象発生源Event.target)とは別に Event.currentTarget があるということは,イベントターゲットという概念が必ずしも事象発生源を指すものではないのは明らか。聴取子(リスナー)の対象だけを指すわけでもない。事象は次から次に目標を切り替えて移動している,というイメージなのか。

=}{*}

いまいち決め手に欠けるので暫定訳語は「事象目標」で現状維持にしておくか……。

=}{*}

先日,論組プログラミング)におけるイベントを「事象」と訳したが,JavaScript における「イベントターゲット」ってどういうニュアンスなんだろう。最初,事象伝播の「ターゲットフェーズ」のイメージで「事象目標」と訳したが,使ってて微妙に違和感がある。

=}{*}

デライトドラッグイメージ問題,ついに完結。ウィンドウ)越えの事象イベント)検知法を考案し,ようやく片付いたかと思ったら DataTransfer 読み取り不能問題というラスボスが立ちはだかった。徹夜で解決したので詳しくはまた後で……。

=}{*}

obj.prp = val と obj.set_prp( val ),機能は同じだとして,どちらが記法として優れているのか問題。前者は挙動が予測しにくい。後者はやや冗長。

出力論組プログラム虎哲*イチ 1.01
制作・運営:希哲社
© K1-13 (2007-2019) KiTetuSha