キャリッジ リターン フォーカスの問題を制御します:
document .onkeydown = keyDown
ブラウザがこのステートメントを読み取ると、キーボードのどのキーが押されても、KeyDown() 関数が呼び出されます。
キーボード イベントのキャプチャはブラウザごとに少し難しくなります。さまざまなブラウザの実装ステートメントを個別に学習します。
Netscape
Netscape のプログラム実装は IE よりも面倒です。この行のステートメントがないと、キーストローク イベントがマウス プレスのイベントと混同されます。特別なステートメントは次のとおりです。
Document.onkeydown = keyDown
if (ns4) document.captureEvents(Event.KEYDOWN)
keyDown() 関数には隠し変数があります。通常、文字 " を使用します。 e」を使用してこの関数を表します。
関数 keyDown(e)
変数 e はキーストローク イベントを表します。次の属性を使用します。
e.that
これにより、キーのインデックス値が得られます。インデックス値をキーの英数字値に変換するには、次のように記述します:
String.fromCharCode(e.that)
上記のステートメントをまとめると、どのキーが押されたかを知ることができます:
var keycode = e .that
var realkey = String.fromCharCode(e.that)
alert("keycode: " keycode " realkey: " realkey)
}
document.onkeydown = keyDown
document.captureEvents (Event.KEYDOWN )
IE のプログラムは Netscape に似ていますが、e.which の代わりに window.event.keyCode を使用してインデックス値を変更します。実際のキー値に変換する方法は String.fromCharCode(event.keyCode) と同様です。プログラムは次のとおりです:
var keycode =event.keyCode
var realkey = String.fromCharCode(event.keyCode)
alert("keycode: " keycode " realkey: " realkey)
}
document.onkeydown = keyDown
document.onkeydown = keyDown
チェック上記の例を両方のブラウザで実行すると、実行結果が必ずしも同じではないことがわかります。これは、2 つのブラウザのキーボード コード設定が異なるためで、このプログラムを個別に記述するには別のコードを使用する必要があります。他に方法はありません。
実際のキーの値を完全に忘れて、キーボード コードの値だけを操作することをお勧めします。 IE を使用している場合は ieKey が有効になり、nKey が 0 に設定されます。Netscape を使用している場合は、nKey が有効になり、nKey が 0 に設定されます。値:
if (ns4) {
var nKey=e.that;
var ieKey=0
}
if (ie4) {
var ieKey=event. keyCode;
var nKey=0
}
alert("nKey:" nKey " ieKey:" ieKey)
}
document.onkeydown = keyDown
if (ns4) ドキュメント。 CaptureEvents(Event.KEYDOWN)
次のプログラムは、キーボードを使用してオブジェクトの移動を実装します。プログラムは、どのキーが押されたかを確認し、対応する関数を呼び出してオブジェクトを移動します。物体。この例では、文字「A」を押すとオブジェクトが動き始めます。nKey の文字「A」キーの値は 97、ieKey の値は 65 になります。プログラム内で別途確認します。
Function init() {
if (ns4) block = document.blockDiv
if (ie4) block = blockDiv.style
block.xpos = parseInt(block.left)
Document.onkeydown = keyDown
if (ns4) document.captureEvents(Event.KEYDOWN)
}
function keyDown(e) {
if (ns4) { var nKey=e.that; ieKey=0 }
if (ie4) { var ieKey=event.keyCode; var nKey=0 }
if (nKey==97 || ieKey==65) { // 「A」キーがpressed
slide()
}
}
function slide() {
block.xpos = 5
block.left = block.xpos
status = block.xpos / / この文はステータスを確認するだけなので必ずしも必要ではありません
SetTimeout("slide()",30)
}
「Active」変数を追加します
上記プログラムが少し不足していて、オブジェクトが一度動くと止めることができず、さらに数回Aキーを押すとオブジェクトの動きが速くなります。ここで修正します。
変数「active」を使用してこの状況を変更し、if ステートメントを挿入して関数が繰り返されるかどうかを確認します。
Function slide() {
if (myobj.active) {
myobj. > この場合、slide() 関数は myobj.active の値が true の場合にのみ機能し、myobj.active の値が false の場合、オブジェクトは移動を停止します。
onKeyUp 変数と "Active" 変数を使用する
onkeyup イベントは、onkeydown イベントと同じように機能します。次のステートメントを使用してイベントを初期化します。
コードをコピーします。
コードは次のとおりです。 keyUp() 関数は同じです。キーが放されると、イベントが発生し、オブジェクトの移動が停止し、アクティブな変数が 0 に設定されます。 🎜>
コードをコピー
コードは次のとおりです。
以下は比較的完成したプログラムです:
コードをコピー
コードは次のとおりです:
}
function keyDown(e) {
if (ns4) {var nKey=e.that; var ieKey=0}
if (ie4) {var ieKey=event.keyCode; > if ((nKey==97 || ieKey==65) && ! block.active) { // 「A」キーが押された場合
block.active = true slide()
}
}
function keyUp(e) {
if (ns4) { var nKey=e.that; var ieKey=0}
if (ie4) {var ieKey=event.keyCode; 🎜>if (nKey==97 || ieKey==65) {
block.active = false // 「A」キーが離された場合
}
}
function slide() {
if (block.active) {
block.xpos = 5
block.left = block.xpos
status = block.xpos // 表示のためだけに必要ありません
setTimeout("slide ()",30)
}
}

私はあなたの日常的な技術ツールを使用して機能的なマルチテナントSaaSアプリケーション(EDTECHアプリ)を作成しましたが、あなたは同じことをすることができます。 まず、マルチテナントSaaSアプリケーションとは何ですか? マルチテナントSaaSアプリケーションを使用すると、Singの複数の顧客にサービスを提供できます

この記事では、許可によって保護されたバックエンドとのフロントエンド統合を示し、next.jsを使用して機能的なedtech SaaSアプリケーションを構築します。 FrontEndはユーザーのアクセス許可を取得してUIの可視性を制御し、APIリクエストがロールベースに付着することを保証します

JavaScriptは、現代のWeb開発のコア言語であり、その多様性と柔軟性に広く使用されています。 1)フロントエンド開発:DOM操作と最新のフレームワーク(React、Vue.JS、Angularなど)を通じて、動的なWebページとシングルページアプリケーションを構築します。 2)サーバー側の開発:node.jsは、非ブロッキングI/Oモデルを使用して、高い並行性とリアルタイムアプリケーションを処理します。 3)モバイルおよびデスクトップアプリケーション開発:クロスプラットフォーム開発は、反応および電子を通じて実現され、開発効率を向上させます。

JavaScriptの最新トレンドには、TypeScriptの台頭、最新のフレームワークとライブラリの人気、WebAssemblyの適用が含まれます。将来の見通しは、より強力なタイプシステム、サーバー側のJavaScriptの開発、人工知能と機械学習の拡大、およびIoTおよびEDGEコンピューティングの可能性をカバーしています。

JavaScriptは現代のWeb開発の基礎であり、その主な機能には、イベント駆動型のプログラミング、動的コンテンツ生成、非同期プログラミングが含まれます。 1)イベント駆動型プログラミングにより、Webページはユーザー操作に応じて動的に変更できます。 2)動的コンテンツ生成により、条件に応じてページコンテンツを調整できます。 3)非同期プログラミングにより、ユーザーインターフェイスがブロックされないようにします。 JavaScriptは、Webインタラクション、シングルページアプリケーション、サーバー側の開発で広く使用されており、ユーザーエクスペリエンスとクロスプラットフォーム開発の柔軟性を大幅に改善しています。

Pythonはデータサイエンスや機械学習により適していますが、JavaScriptはフロントエンドとフルスタックの開発により適しています。 1. Pythonは、簡潔な構文とリッチライブラリエコシステムで知られており、データ分析とWeb開発に適しています。 2。JavaScriptは、フロントエンド開発の中核です。 node.jsはサーバー側のプログラミングをサポートしており、フルスタック開発に適しています。

JavaScriptは、最新のブラウザにすでに組み込まれているため、インストールを必要としません。開始するには、テキストエディターとブラウザのみが必要です。 1)ブラウザ環境では、タグを介してHTMLファイルを埋め込んで実行します。 2)node.js環境では、node.jsをダウンロードしてインストールした後、コマンドラインを介してJavaScriptファイルを実行します。

Quartzタイマーを使用してタスクをスケジュールする場合、Quartzでタスク通知を事前に送信する方法、タスクの実行時間はCron式によって設定されます。今...


ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

AtomエディタMac版ダウンロード
最も人気のあるオープンソースエディター

mPDF
mPDF は、UTF-8 でエンコードされた HTML から PDF ファイルを生成できる PHP ライブラリです。オリジナルの作者である Ian Back は、Web サイトから「オンザフライ」で PDF ファイルを出力し、さまざまな言語を処理するために mPDF を作成しました。 HTML2FPDF などのオリジナルのスクリプトよりも遅く、Unicode フォントを使用すると生成されるファイルが大きくなりますが、CSS スタイルなどをサポートし、多くの機能強化が施されています。 RTL (アラビア語とヘブライ語) や CJK (中国語、日本語、韓国語) を含むほぼすべての言語をサポートします。ネストされたブロックレベル要素 (P、DIV など) をサポートします。

MantisBT
Mantis は、製品の欠陥追跡を支援するために設計された、導入が簡単な Web ベースの欠陥追跡ツールです。 PHP、MySQL、Web サーバーが必要です。デモおよびホスティング サービスをチェックしてください。

Dreamweaver Mac版
ビジュアル Web 開発ツール

メモ帳++7.3.1
使いやすく無料のコードエディター
