はじめて質問します。

いきなり本題ですが、
Altキーと←キーを同時に押すと前に表示したページに戻れてしまいますよね?
それを元のページに戻れないようにしたいのです。

BackSpaceと右クリックの禁止はできましたが、
Alt+←キーの制御がどうしても分かりません。
ちなみにブラウザはNNです。

どなたか、前に表示したページに「戻る」方法と
それら全てを制御する方法をご存知ないでしょうか?
宜しくお願いします。

このQ&Aに関連する最新のQ&A

A 回答 (1件)

こんにちは。


あまり参考にならないかも知れないですけど、参考までに。

まず、ブラウザにある「戻る」ボタンと右クリックのメニューにある
戻るは、履歴から一つ前に戻っているですよ。
なので、ページの移動をするときに、履歴を残さずに移動すると
戻れません。
location.replace(★); //★には、URLを!
ってな感じでどうでしょう?

多分、これは、あんまりと言われそうなので、キーボードのイベントを
拾って処理をすればどうでしょうか?
onkeydownのイベントを拾って、次に押されたキーボードのキーコードを
拾って処理をすればうまいこといくかも。

★.modifiers
★.which
★.keyCode //★には、イベントオブジェクトを!

↑この辺をさぐってみては、どうかな?
ちょっとjavascriptは専門外な上に、テストしてないのでうまく行くかどうかは
わかりましぇんけど、お役に立てると幸いかと。。。
もっと、ええ方法あるかもしれんので、他の人援護よろしくお願いします。
では、がんばってください。
    • good
    • 0
この回答へのお礼

だいぶ前に回答頂いたみたいで、御礼が遅くなってしまって申し訳ありません。
押されたキーの値を取得するにも、NNだとAltキーの値がないため、
取得できませんでした。
もし、また何かよい方法が思い浮かびましたら、ぜひ教えてください。

本当に、御礼が遅くなって申し訳ありませんでした。
ありがとうございました。

お礼日時:2001/05/28 14:06

このQ&Aに関連する人気のQ&A

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

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

QJavaScriptでのEnterキーとAlt+Enterキー制御について

Web画面で入力するシステムを構築しています。
利用者が入力する際、使いやすくするためという要望があり、現在「Enterキー」を押下するとそのキーコードをトラップし、TABに変換して次項目へ移動させるという処理をJavaScriptで行っています。
ここで、Web画面の項目に「TEXTAREA」があり、その項目中で入力し改行したいと思っても上記JavaScriptが効いてしまって次項目へ飛んでしまいます。
そこで「Alt+Enter」を押すとTEXTAREA内で改行するという処理を作り込みたいのですが、やり方がわかりません。(ただし、Altでなくても可。要はEnterを押すと次項目へ移動し、何か特別なことをするとTEXTAREA内で改行できればOK。)
「Alt+Enter」時のキーコードや具体的なやり方を紹介していただけないでしょうか?

以上、よろしくお願いします。

Aベストアンサー

#1です、実際に試してみたのですが、、
ALTキーの場合、ブラウザがショートカットキーとして横取りするみたいなので、うまくいかないですね。
そこで、Shift+Enterでやるサンプルを作ってみました。
TABへの変換はしてませんけど、それは、修正して下さい。
----------------------------------------------------------------
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=SHIFT_JIS">
<title>Sample</title>
<script>
<!--
window.onload=function(){
document.getElementById('TAREA').onkeypress=jump;
};
function jump(e){
if(navigator.appName.charAt(0)=="M"){//IE
if(window.event.keyCode==13){
if(!window.event.shiftKey){
// window.event.keyCode=9;//TABはムリ
// document.getElementById('TEXT').focus();
//正規には次のtabindexで移動?
document.getElementById('TEXT').select();
return false;
}
}
} else {//Fox
if(e.which==13){
if(!e.shiftKey){
document.getElementById('TEXT').select();
return false;
}
}
}
return true;
}
//-->
</script>
</head>
<body>
<form name="FORM">
<textarea cols="10" rows="10" id="TAREA"></textarea>
<input type="text" value="TEXT" id="TEXT">
</form>
</body>
</html>

#1です、実際に試してみたのですが、、
ALTキーの場合、ブラウザがショートカットキーとして横取りするみたいなので、うまくいかないですね。
そこで、Shift+Enterでやるサンプルを作ってみました。
TABへの変換はしてませんけど、それは、修正して下さい。
----------------------------------------------------------------
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=SHIFT_JIS">
<title>Sample<...続きを読む

QNN4.7でボタン制御は可能でしょうか?

毎回お世話になっております。

現在、仕事でWebページを作成しているのですが、そのWebページの推奨がIE5.0、NN4.7以上になっております。
今、作業で困っていることはNN4.7でボタンの制御ができないことです。
IEだと「disabled」で制御ができるのですが、NN4.7だと使用不可になっているので使えないです。

検索エンジンで調べても良い例がみつからなかったので、投稿いたしました。
なにか良い案・HPがありましたら、ご回答のほどよろしくおねがいいたします。

Aベストアンサー

ボタンを無効にしたいということですよね?

たとえば、ボタンのonClickイベントでアラートウィンドウを開き、「このボタンは無効です」でも何でもいいんですが適切な警告メッセージを表示して、アラートウィンドウの「OK」が押されたらreturn falseでSubmitは行わないようにする方法はいかがでしょうか。

bokeseizinさんの意図を汲み違えていたらすみません。

QNN4とNN6でのレイヤーの表示・非表示

WINとMACでNN4とNN6でのレイヤーの表示・非表示を制御する、そんな都合の良いJavaScriptってありますか?
あったら教えて下さい!!

Aベストアンサー

以下は、私が使っていたものを、そのまま写しています。

function ShowMessage(mID){
if(document.all) document.all(mID).style.visibility = 'visible';
else if(document.layers) document.layers[mID].visibility = true;
else if(document.getElementById) document.getElementById(mID).style.visib
ility = 'visible';
}

function HideMessage(mID){
if(document.all) document.all(mID).style.visibility = 'hidden';
else if(document.layers) document.layers[mID].visibility = false;
else if(document.getElementById) document.getElementById(mID).style.visib
ility = 'hidden';
}

おわかりだとは思いますが、mIDは、各レイヤーのIDです。
引数にして渡してやってください。

ちなみに、Netscape6.0以降は、document.layersはFALSEになってしまいます。
そこで、document.getElementByIdを使うのですが、これはIE5.0以上でもTRUEになってしまいます。
(だから elseを使っているんですが)

Netscapeは、4.x以前と6.0以降でまったく別物になっているので、
同じ処理はほとんどの場合使えません。
むしろ、6.0はIE5.x以降にかなり近いです。

WINとMACの違いは、ブラウザの細かい仕様とバグに関わってくるので、
あんまり気にしても仕方がないような。。。

以下は、私が使っていたものを、そのまま写しています。

function ShowMessage(mID){
if(document.all) document.all(mID).style.visibility = 'visible';
else if(document.layers) document.layers[mID].visibility = true;
else if(document.getElementById) document.getElementById(mID).style.visib
ility = 'visible';
}

function HideMessage(mID){
if(document.all) document.all(mID).style.visibility = 'hidden';
else i...続きを読む

QキーコードなどでAlt+○を認識してイベントを発生させるには?

キーコードなどでAlt+○を認識してイベントを発生させるにはどうしたらよいのでしょうか?ひとつのキーでならできたのですが複数のキーを組み合わせることができませんでした。参考までにうまくいかなかったプログラムの関数部分を記述しておきます。このプログラムだと一回目はうまくいくのですが二回目になるとsキーを押すだけで実行されてしまいます。

document.onkeydown=keyDown;

function keyDown()
{
keynum1=event.keyCode;
if(keynum1==18)//この番号がキーに対応してる(Altキー)
{
document.onkeydown=pressEnter;
}
}
function pressEnter()
{
keynum2=event.keyCode;
if(keynum2==83)//この番号がキーに対応してる(sキー)
{
document.write("キーコード");
}
}

キーコードなどでAlt+○を認識してイベントを発生させるにはどうしたらよいのでしょうか?ひとつのキーでならできたのですが複数のキーを組み合わせることができませんでした。参考までにうまくいかなかったプログラムの関数部分を記述しておきます。このプログラムだと一回目はうまくいくのですが二回目になるとsキーを押すだけで実行されてしまいます。

document.onkeydown=keyDown;

function keyDown()
{
keynum1=event.keyCode;
if(keynum1==18)//この番号がキーに対応してる(Altキー)
{ ...続きを読む

Aベストアンサー

document.onkeydown=keyDown;
document.onkeyup=keyUp;

var CHK=new Array();
CHK[0]=0;
CHK[1]=0;

function keyDown(){
if(event.keyCode==18){CHK[0]=1;}
if(event.keyCode==83){CHK[1]=1;}
if(CHK[1]==1 && CHK[0]==1){ document.write("キーコード"); }
}
function keyUp(){
if(event.keyCode==18){CHK[0]=0;}
if(event.keyCode==83){CHK[1]=0;}
}


これでいいんじゃないですか?

QBackSpaceしたい

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

Aベストアンサー

できますとも!

(1)クリックするボタンに「onClick=~」を追加する。~の部分には javascriptの関数名。

(2)その関数内には「(いま入っている値がn文字とすると)先頭からn-1文字目までを切り取って、いまある値と置き換えよ」という命令を書く。

これで、バッチリです。


人気Q&Aランキング

おすすめ情報