• 締切済み

IEで、BackSpaceで「戻る」機能を無効にしたい

続いてすいません。 JavaScriptを使って、キーボードの入力をそのまま画面に表示させる 仕掛けを作っています。 もちろんBackSpaceキーも使えて、 入力した字を消したりできるようにしたいのですが、 IEの場合、BackSpaceキーを押すと「戻る」ボタンを押した時と同じ動きをしますよね? だから、字を消すことができないのです。 どなたかこれを解決する方法をご存知の方がいらっしゃいましたら ご教授のほど宜しくお願いします。

みんなの回答

  • UKY
  • ベストアンサー率50% (604/1207)
回答No.1

つまり、onkeydownイベントが発生したときに、 window.event.keyCodeの値を使って、入力された文字を HTMLに書き込んでいく、ということですね? もしそうでなかったらごめんなさい。 で、バックスペースキーを押すと、 window.event.keyCodeの値は8になるようです。 なので、その値が8だった場合のみ、これまで入力された 文字列の最後を切り取るようにすればいいと思います。 そして、イベントが発生したときに実行されるスクリプトの中に、 window.event.returnValue = false; と書いておくと、ブラウザの規定の動作を取り消すことが できるので、バックスペースで「戻る」になってしまうことは ないと思います。 あと、話が複雑になるようで申し訳ありませんが、 onkeydownイベントはshiftキーなどでも発生してしまうようなので、 バックスペースはonkeydownイベントで、 文字の入力はonkeypressイベントで処理するといいと思います。 難しくてわからなかったら、また質問してください。

yahiro88
質問者

お礼

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

関連するQ&A

  • Backspaceの機能がおかしい

    Backspaceの機能がおかしいのです 例えば”ABC"の文字を削除しようとBackspaceキーを押すと Cが一文字削除されて”AB”になりますよね。 今、私のパソコンでは ”ABC”が””全部削除されてしまいます。 文字を入力するアプリケーションではほぼ全てそのような おかしな機能になってます。 (ワード、エクセル、メール、インターネット等) 私が試みたのは、IMEのプロパティーでキー設定を前字削除を設定してもNG IMEを再インストールしてもNGでした。 ご経験の方がいらっしゃいましたら、アドバイスいただけますと 大変助かります。

  • Enterと右上のbackspaceが動かない

    まずEnterキーは文字を打っているとき、文字の下に点線があると思いますが、その点線は表示されるのですがEnterキーを押すと決定できません。 ですがキーボードで下のほうにある長細いボタンありますよね? 変換の隣の・・・。それを押して、戻すと決定になっているのです。  どこかのボタンを押してしまったか・・・・・・。 わからないので教えてください。 Backspaceは、まず文を書いていて、間違えてしまって消そうと思うのですが、押しても消せません。Backspaceキーの事はこれだけです。 急いでいるのでお早めにお願いします。 私はまだ子供なので、簡単に教えていただければ嬉しいです。

  • BackSpaceキーがなんかおかしい

    ARCHISS製メカニカルキーボード、Windows10で入力していますが、ミスしてBackSpaceキーで削除しようとすると、たまにそれまで入力した文章がその行だけごっそり消える事があります。 どうして何でしょうか? BackSpaceキーの接触不良ならば、不規則に削除されると思うのですが、綺麗にその行だけ消えます。

  • backspace キー

    教えてください。ワードを使用していて、入力間違いを直すため、backspaceキーを押すといきなり、『名前を付けて保存』の画面が出てきます。 backspaceキーのみ押して、出てきます。設定がどうかなってしまったのでしょうか?どうすれば直りますか・・BSで押すたびに出てきて困っています。

  • BackSpaceしたい

    firefox使っています。 フォームのTEXT表示においてclickボタンで 後から1文字ずつ削除したいです。 (キーボードのBackSpace) できますでしょうか?

  • backspaceとdelete

    日本語のWindowsのキーボードには、backspaceとdeleteがあります(ないものもあるかもですが、今まで使ったキーボードにはすべてあった)。 backspaceはカーソルより前のひと文字を削除します。deleteはカーソルより後ろのひと文字を削除します。 昔から思っていましたが、削除のために2個のキーがあるのは冗長ではないでしょうか。なぜこのような仕様になったか、ご存知でしたら教えて下さい。または参考サイトなどがあればお示しください。 ちなみにmacのキーボードにはどちらかがないそうですね。また私が買ったUSのChromebookのキーボードにはbackspaceしかありませんでした。

  • BackSpaceキーでごっそり消える

    Windows10,アーキス製メカニカルキーボード使用です。 このサイトや知恵袋で文章を入力中にBackSpaceキーを打つと、たまにその行の文章がごっそり消える事があります。 どうしてなんでしょうか?

  • 入力文字がBackSpaceキーで消せない

    今までミス入力したときはBackSpaceキーで修正していたのですが、なぜかBackSpaceキーを押すと”¥”になってしまいます。また←を押すと”」”になってしまいます。改善方法をご存知の方は教えて下さい。キー操作がし辛く大変困っています。PCはNECのVALUESTARです。よろしくお願い致します。

  • DeleteキーとBackSpaceキーが使えない

    FMV BIBLO NF50X で、DeleteキーとBackSpaceキーが突然使えなくなりました。文字入力は問題なくできており、両キーとも以前は問題なく使用できていましたが、数ヶ月前に突然文字の消去ができなくなり、再起動などしても変化がありません。キーボードの接触不良でしょうか。どのようにしたら解決できるか教えていただけると助かります。 ※OKWaveより補足:「富士通FMV」についての質問です。

  • formタグの部分をBackSpace押すと画面が消える

    PHPでデータ入力画面を作成しています。 FORM タグで、チェックボックスや、プルダウンのSELECTタグなどの部分を 入力画面でBackSpaceをクリックすると画面がキャンセルされてしまいます。 ブラウザは InternetExplorer 6 です。 なにかキーボードの割り当てなどの設定があるのでしょうか。 それともphpやjavascriptでのソースの変更が必要でしょうか。 初心者で申し訳ありません。。。 どうぞよろしくお願いします。

    • 締切済み
    • PHP