2008-09-12 3 views
0

Internet Explorer 6で特定のキー(CtrlキーとBackspaceキー)を無効にする必要があります。それはIE6でなければなりません。ありがとう。IE 6の特定のキーを無効にする

ロング編集:

@apandit:Whoops:バックスペースのことをより具体的に説明する必要があります。バックスペースを無効にすると、バックスペースがバックブラウザボタンを模倣する機能を無効にすることを意味します。 IEでは、フォーカスがテキスト入力フィールドにないときにBackspaceを押すことは、Back(前のページを参照)を押すことと同じです。

Ctrlキーと同じです。新しいIEウィンドウを作成するリンクがあるページがいくつかあります。私はポップアップブロッカーをオンにして、これをブロックします。しかし、Ctrlキーを押しながらクリックすると、新しいウィンドウが表示されます。

これは現在、Webベースのアプリケーションであるキオスクアプリケーション用です。クライアントは現時点でサイトのキオスクをフレンドリーにするために資金を持っていません。 URLフィルタリングやURL入力フィールドの無効化などの作業はすでに完了しています。

ありがとうございました。

答えて

0

どのような目的でこれが必要ですか?バックスペースを無効にすると、URLや電子メールなどを入力するための地獄になるからです。

問題が分かっていれば、他の回避策をお勧めします。

編集1:
このウェブサイトは、どのように行われたかに関する情報を持っているようです。私は現在、それを検証することはできませんが、私はそれに見ていきます: http://www.ozzu.com/programming-forum/disable-key-and-back-t44867.html

編集2: http://www.advscheduler.com/docs/manual/type_sendkeys.html BACKSPACEは08.

EDIT 3であるようだ:このウェブサイトは、いくつかのキーコードを持ってい
:ブロックするためのいくつかのより多くのコードを発見
、これをチェックアウト:

 

<script type="text/javascript">var sType = "keypress";</script> 

<!--[if IE]> 
<script type="text/javascript">sType = "keydown";</script> 
<![endif]--> 

<script type="text/javascript"> 
fIntercept = function(e) { 
    // alert(e.keyCode); 
    e = e || event.e; 
    if (e.keyCode == 116) { 
    // When F5 is pressed 
    fCancel(e); 
    } else if (e.ctrlKey && (e.keyCode == 0 || e.keyCode == 82)) { 
    // When ctrl is pressed with R 
    fCancel(e); 
    } 
}; 

fCancel = function(e) { 
    if (e.preventDefault) { 
    e.stopPropagation(); 
    e.preventDefault(); 
    } else { 
    e.keyCode = 0; 
    e.returnValue = false; 
    e.cancelBubble = true; 
    } 
    return false; 
}; 

fAddEvent = function(obj, type, fn) { 
    if (obj.addEventListener) { 
    obj.addEventListener(type, fn, false); 
    } else { 
    obj['e'+type+fn] = fn; 
    obj[type+fn] = function() { 
    obj['e'+type+fn](window.event); 
    } 
    obj.attachEvent('on'+type, obj[type+fn]); 
    } 
}; 


fAddEvent(document, sType, fIntercept); 
</script> 

[OK]を、今、あなたはそれを行うために必要なすべてを持っている必要があります。バックスペースを無効にするには、キーコードは08です。わずかな変更のみで投稿したコードを使用することができます:\

あなたが必要とするものを試してみてください。 (あなたはJavascriptの使い方を知っていれば幸いです。)

0

ウェブページからはできません。ウェブブラウザの主な目的の1つは、インターネットからユーザを保護することです。彼らはウェブサイトができる非常に特定のものを定義し、ボタンを無効にすることはリストにはありません。

一方、ネットワーク管理者で、ユーザーを混乱させたい場合は、デスクトップソフトウェアを使用して行うことができます。しかし、私は息を止めないだろう。

+0

に役立ちます願っています@ Salimはウェブページからこれを行う方法を探しています。 – pkaeding

+0

Nevermind。質問者の説明を読んだ後、私はそれがウェブアプリケーションのためだと思います。 – pkaeding

0

私はこのjQueryのソリューションを使用しています(IE6およびFirefox 3.6でテスト):

 
$(document).keydown(function(e) { 
    var tag = e.target.tagName; 
    var ro = e.target.readOnly; 
    var type = e.target.type; 
    var tags = { 
     INPUT : '', 
     TEXTAREA : '' 
    }; 
    if (e.keyCode == 8) {// backspace 
     if (!(tag in tags && !ro && /text/.test(type))) { 
      e.stopPropagation(); 
      e.preventDefault(); 
     } 
    } 
});  

が、私は考えていない、質問は「レジストリハック」を言及しているので、それは誰か

関連する問題