ExcelでCtrl + ;キーを押すと、今日の日付が入力されます。結構便利で、よく使うのですが、ブラウザでもあれをやってみたいと思い、ユーザスクリプトで作ってみました。
InsertTodayShortcut(IE限定)
// ==UserScript== // @name InsertTodayShortcut // @description http://d.hatena.ne.jp/replication/ // @include * // ==/UserScript== document.body.attachEvent("onkeydown", function() { // Ctrlボタンが押された場合 if (event.ctrlKey) { // ;キーが押された場合 if (event.keyCode == 187) { if (document.activeElement.type == "text") { var now = new Date(); var year = now.getYear(); var month = now.getMonth() + 1; var day = now.getDate(); document.activeElement.value = year + "/" + month + "/" + day; } } } });
IEの場合、現在フォーカスがあたっている要素を取得するには、document.activeElementを使用します。現在フォーカスがあたっている要素がテキストボックスであれば、現在の日付を挿入します。
あとがき
このユーザースクリプトを作っているうちに気づいたのですが、Ctrl + ;を押すとIEのズーム機能が動作してしまって、拡大率が120%になってしまいます。このイベントをキャンセルする方法を探したのですが、分かりませんでした。