業務備忘録

備忘録です

JavaScriptのkeydownイベント

2023-07-11 21:36:21 | 日記

addEventListnerなどから、イベントを扱う場合、イベントが発生したタイミングでイベントオブジェクトが作成される。

Eventオブジェクトには

Event.timeStamp...イベントが生成された時刻をミリ秒単位で示す

Event.bubbles...イベントがDOMを通してバブリングするかどうか示す

などのプロパティがある。

もちろん、イベントにはclickやkeydownなど多種多様なイベント型が用意されているが、それぞれのイベント型はEventオブジェクトを継承している。

keydownイベントの場合。

KeyboardEvent.altkey...altが押下されていればtrue

KeyboardEvent.ctrlkey...ctrlが押されていればtrue

KeyboardEvent.key...押下したキーのキー値を表す

KeyboardEvent.location...押下したキーに対応した定数値を返す(Enterは13)

KeyboardEvent.code...キーボードレイアウトにかかわらず、キーボード上の物理的なキーを返す。

 


SELECTしたサブクエリに別名をつける

2023-07-11 21:19:54 | 日記

とあるSQL本でFROM句にサブクエリを指定していた。

FROM (SELECT P1.DOG, P1.CAT, COUNT(*)
{...}
  AS ConcurrentProcs(dog_name, cat_name,hoge)

ASで別名をつけることができるのは当然として、SELECTした列に括弧内の別名を指定できるというのは初めて知った。

なお、SQLServerではFROM句に指定したサブクエリにはASを使用して別名をつけないとエラーとなるらしい。

ミック『SQL ゼロからはじめるデータベース操作 第2版』(翔泳社,2016)ではサブクエリについて、

サブクエリの名前は、原則的に必要なものなので、処理内容から考えて適切名前をつけるようにしてください。[...]名前をつけるときは、ASキーワードを使いますが、このASは省略することが可能です。

p.165

ただしOracleでは別名をつけなくてもよい。

 

 

 


jqueryのshowメソッドについて

2023-07-06 23:23:44 | 日記
The matched elements will be revealed immediately, with no animation. This is roughly equivalent to calling .css( "display", "block" ), except that the display property is restored to whatever it was initially. If an element has a display value of inline, then is hidden and shown, it will once again be displayed inline.

https://api.jquery.com/show/

一致した?HTMLの要素はアニメーションなしで瞬時に表示される。大まかにいえばcssメソッドでdisplay:flexを適用した場合と等価であるが、非表示にされた要素のdisplayプロパティに値が指定されていれば、表示されたときにはdisplay:blockではなくdisplay:[初期値]として表示される。

とのこと。

showメソッドにはオプションの指定が可能だが、アニメーションに関するものであるようだ。

duration:A string or number determining how long the animation will run.

jquery 3.0以前とはshow/hideメソッドの仕様が変更されているらしく、 3.0以降はhideでdisplay:noneを追加し、showでdisplay:noneを削除するという操作になったようだ。であればdisplayに初期値を設定していればそれが適用されるのも当然ということなのだろう。