はじめて質問します。

いきなり本題ですが、
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と関連する良く見られている質問

QエクセルでDeleteキーを押しても計算式が消えないようにしたい!

エクセルで作成した表の列のセル内に、計算式を入力しています。
セル内の値をクリアする為にDeleteキーを押すと、計算式まで消されてしまいます。
ロックする方法はありますか?
教えて下さい。
お願いします。

Aベストアンサー

No.5です。すみません、編集しているうちに肝心な部分を消してしまいました。余計な"「オプション」ボタン”を消していませんね。はじめ不確かな記憶を頼りに書いて、後で検証しながら修正したつもりでした。

「編集」-「ジャンプ」で[セル選択]ボタンを押します。
[定数]を選択します。[数値]、[文字]、[エラー値」、「論理値」にチェックが入っています。[文字]のチェックをはずします。

バージョンも書いてなかった。
私もExcel2000です。

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<...続きを読む

Qテンキーのキー配置はなぜ計算機と電話が上下逆なのでしょうか。

私、よく計算の途中に電話をかける時や、FAXを打つ時に
1と7を間違えます。
なぜ?電話は上から123でPCや計算機が下から123なのでしょうか?
なぜ統一しないのでしょうか、当然時代の新しい方の
計算機が追従する物なのに。 (しかし何度やっても計算機のキー配置が使いやすいですねー。)

Aベストアンサー

こんなページがありましたよ。

参考URL:http://homepage2.nifty.com/osiete/seito193.htm

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

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

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

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

Aベストアンサー

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

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

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

Q%キーを使った計算の仕方をお教えください。

ここへ初めてお世話になりに来ました。小学生頃には数学は得意でしたが、70代が来てさっぱりになりました。割合=パーセントを出すのに小学生なみの計算をしています。(年金の計算に使います)。電卓のパーセントキーを使った事が有りません。これを使った計算の仕方をお教え下さい。

※国民年金(基礎年金)は満額が792,100円です。60歳の誕生日までの納付です。
制度発足の昭和36年4月1日現在で20歳を超えた人其々に=加入月数にばらつきがあります。
※A…加入月数に対するB…納付月数で=C…満額に対する支給年金額のようになっています。
年金特別便の記録面には左に国民年金、次に厚生年金、右が年金加入期間合計欄になっています。でも国民年欄には納付月数と加入月数が有り、それの合計欄もあります。(加入月数―納付月数で=未納月数が出ます)

○年金加入期間合計欄は=国民納付月数+厚生になっています。
○全上は=国民年金加入月数+厚生年金加入月数にはなっていません。
未納期間を引いた年金額の計算をする時、%キーを使った計算が出来ると良いのにと思いお教え頂きに参りました。

分かり難い文面ですが、例の数字なども入れてお教え下さるとありがたいです。よろしくお願申し上げます。

ここへ初めてお世話になりに来ました。小学生頃には数学は得意でしたが、70代が来てさっぱりになりました。割合=パーセントを出すのに小学生なみの計算をしています。(年金の計算に使います)。電卓のパーセントキーを使った事が有りません。これを使った計算の仕方をお教え下さい。

※国民年金(基礎年金)は満額が792,100円です。60歳の誕生日までの納付です。
制度発足の昭和36年4月1日現在で20歳を超えた人其々に=加入月数にばらつきがあります。
※A…加入月数に対するB…納付月数で=C…満額に対する支...続きを読む

Aベストアンサー

引き続きです^^

消費税込みの金額の元値の出し方ですが。。。

税込み金額が525円の商品の元値を計算する場合→
525(525をまず入力)÷(割るのボタンを押す)105(消費税は5%なので
元値を100と考えてプラス5%で105%となります)500(答えの数字が表示
されます)

○1…仮に431月に対して380月は=431月の何パーセントか

この場合。。。
380(380と入力)÷(割るのボタンを押す)431(431と入力)%(ここで%の
ボタンを押す)88.167(答えの数字が表示される)
約88%となります

○2…仮に満額792,000円に対して支給額が700,000円は=満額の何パーセントか。

この場合。。。
700,000(700,000と入力)÷(割るのボタンを押す)792,000(792,000と入力)
%(ここで%のボタンを押す)88.383(答えの数字が表示される)
約88%となります

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キーを押している間の時間を計算してくれるプログラム

はじめまして。
上記のようなプログラムを教えていただきたく、
投稿しました。

わたしは、心理学を専攻する大学院生です。
修士論文の実験でこのようなツールが必要となり、
学校のコンピュータルームに相談に行ったところ、
JavaScriptという言語で、このようなプログラムが
作れると聞き、ここ1月格闘してまいりました。

しかし、プログラムに関してはまったくの素人で、
お手上げ状態です。
したがって、こちらで皆さんのお助けを願ったしだいです。

概要は以下の通りです。
指定した時間の間(たとえば5分間)に、
1.何回キーを押したのか、
2.各回ごとに、どのくらいの時間(ミリ秒単位)押したのか
3.キーを押していた合計時間を測定したいと思っております。

そのために、以下の機能を備えたプログラムを求めています。
1.タイマー機能がついていること(実験開始と終了の操作が自動でできる)。
2.実験を開始・終了した時刻が取得できる。

3.各回のキーを押し始めた時刻が取得できる。
4.各回のキーを離した時刻が取得できる。

以上の説明、わかりにくい点もあるかと思います。
資金に余裕のない学生なので、
ソフトを購入することはできません。
この本を読めば分かる、といったアドバイスもありがたいのですが、プログラムがとても苦手のようです。
これらの点を考慮して、お助けいただける方、
ご回答お願いいたします。

はじめまして。
上記のようなプログラムを教えていただきたく、
投稿しました。

わたしは、心理学を専攻する大学院生です。
修士論文の実験でこのようなツールが必要となり、
学校のコンピュータルームに相談に行ったところ、
JavaScriptという言語で、このようなプログラムが
作れると聞き、ここ1月格闘してまいりました。

しかし、プログラムに関してはまったくの素人で、
お手上げ状態です。
したがって、こちらで皆さんのお助けを願ったしだいです。

概要は以下の通りです。
指定した時間の...続きを読む

Aベストアンサー

一応
>以下の機能を備えたプログラム
を作ってみました。IE用です。
昨今のマシン(メモリやCPU)では、あまり問題にならないスピードで動くとは思いますが、1ミリ秒の精度があるかというと(値は求まっても)かなり疑問です。(データが増えるにつれて画面の更新の時間も(ミリ秒という精度では)影響するかもしれません)
多分、集計するプログラム(処理)は別にあるものと想定し作っていません。
エンターキーを押すと開始します。(マウスで開始ボタンをクリックしても良い)
エンターキーによる開始の場合最初にエンターキーのキーアップが記録されます。
あとは、適当にキーを押します。
-----8<-----8<-----8<-----8<-----8<-----8<-----
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<meta HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=SHIFT_JIS">
<title>限定された時間内に押されたキーの時間を集計する</title>
<script language="JScript">
<!--
var keyPushState=false; //キーが押されていない
var result; //結果を表示するテキストエリア
var time; //キーが押された時間
var IntervalID;//実行時間制御

window.onload=init;
function init(){
document.body.onkeydown=keyDown;
document.body.onkeyup=keyUp;
document.getElementById("startButton").focus();
result = document.getElementById("result");
IntervalID=undefined;
}
function keyDown(){
time = new Date();
if(!keyPushState){//キーが既に押されている状態である
keyPushState=true;
result.value += String.fromCharCode(window.event.keyCode)+":KeyDown at "+timeFormat(time)+"\n";
}
}
function keyUp(){
time = new Date();
result.value += String.fromCharCode(window.event.keyCode)+":KeyUp at "+timeFormat(time)+"\n";
keyPushState=false;
}
function timeFormat(t){// HH:MM:SS.sss
return (
ZeroFormat(t.getHours(), 2)+":"+
ZeroFormat(t.getMinutes(),2)+":"+
ZeroFormat(t.getSeconds(),2)+"."+
ZeroFormat(t.getMilliseconds(),3)
);
}
function ZeroFormat(num, n){// ZeroFormat(1,3) => "001"
var ret=""+num;
while(ret.length < n){
ret = "0" + ret;
}
return (ret);
}
function start(){
if(IntervalID==undefined){
document.body.onkeydown=keyDown;
document.body.onkeyup=keyUp;
result.value="開始時間"+timeFormat(new Date())+"\n";
IntervalID=setInterval("start()",5*60*1000);//5分
} else {
result.value+="終了時間"+timeFormat(new Date())+"\n";
document.body.onkeydown=null;
document.body.onkeyup=null;
clearInterval(IntervalID);
alert("終了しました");
}
}
//-->
</script>
</head>
<body>
<button id="startButton" type="button" onclick="start()">開始</button><br>
<textarea id="result" cols="60" rows="30" READONLY></textarea><br>
もう一度実行するときは、画面を更新して下さい。
</body>
</html>

一応
>以下の機能を備えたプログラム
を作ってみました。IE用です。
昨今のマシン(メモリやCPU)では、あまり問題にならないスピードで動くとは思いますが、1ミリ秒の精度があるかというと(値は求まっても)かなり疑問です。(データが増えるにつれて画面の更新の時間も(ミリ秒という精度では)影響するかもしれません)
多分、集計するプログラム(処理)は別にあるものと想定し作っていません。
エンターキーを押すと開始します。(マウスで開始ボタンをクリックしても良い)
エンターキーによ...続きを読む

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;}
}


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

Q計算機のキーの機能

単純な質問ですみませんが、知らないので教えてください。キーにCEってありますよね?これはどういう機能なのですか?Cはクリアで意味が通るんですが、CEもクリアとして使えるようですし。
よろしくお願いします。

Aベストアンサー

#1です補足です。
例えば、5+5の計算の時、間違って、5+6を入力したとしますと、Cを押すと、すべてがクリアされるので、最初からやり直しです。

CEを押して、6を入力すると、5+6の結果が=で得られますので。

QBackSpaceしたい

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

Aベストアンサー

できますとも!

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

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

これで、バッチリです。


人気Q&Aランキング