プロが教える店舗&オフィスのセキュリティ対策術

続いてすいません。

JavaScriptを使って、キーボードの入力をそのまま画面に表示させる
仕掛けを作っています。
もちろんBackSpaceキーも使えて、
入力した字を消したりできるようにしたいのですが、
IEの場合、BackSpaceキーを押すと「戻る」ボタンを押した時と同じ動きをしますよね?
だから、字を消すことができないのです。

どなたかこれを解決する方法をご存知の方がいらっしゃいましたら
ご教授のほど宜しくお願いします。

A 回答 (1件)

つまり、onkeydownイベントが発生したときに、


window.event.keyCodeの値を使って、入力された文字を
HTMLに書き込んでいく、ということですね?
もしそうでなかったらごめんなさい。

で、バックスペースキーを押すと、
window.event.keyCodeの値は8になるようです。
なので、その値が8だった場合のみ、これまで入力された
文字列の最後を切り取るようにすればいいと思います。

そして、イベントが発生したときに実行されるスクリプトの中に、
window.event.returnValue = false;
と書いておくと、ブラウザの規定の動作を取り消すことが
できるので、バックスペースで「戻る」になってしまうことは
ないと思います。

あと、話が複雑になるようで申し訳ありませんが、
onkeydownイベントはshiftキーなどでも発生してしまうようなので、
バックスペースはonkeydownイベントで、
文字の入力はonkeypressイベントで処理するといいと思います。

難しくてわからなかったら、また質問してください。
    • good
    • 0
この回答へのお礼

なるほど!ありがとうございます。
早速試してみたいと思います!

お礼日時:2001/12/18 15:03

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!