1

最初の 1 つは、スペース バーのスクロールなどのデフォルト機能をブロックするために、ここで 2 つの関数を使用しました。

<span id="current"></span>

$("html").on("keydown", function (e) {
  {
        e.preventDefault();
  }
});
document.onkeypress = function(evt) 
{
     evt = evt || window.event;
    var charCode = evt.keyCode || evt.which;
    document.getElementById("current").innerHTML=charCode;
};

現在、このコードは ctrl+a ctrl+s スペースバーのスクロールなどの firefox のさまざまなデフォルト機能をブロックするために firefox で機能し、スパンでも出力を提供しますが、chrome で試してみると、chrome のさまざまなデフォルト機能もブロックされますが、与えられませんでしたスパンで出力します。

のように書くこともできます。

document.onkeypress = function(evt) 
{
     evt = evt || window.event;
     var charCode = evt.keyCode || evt.which;
     document.getElementById("current").innerHTML=charCode;
     return false;
};

firfox と chrome の両方で機能しましたが、私の関数 (evt) は非常に長く、多くの if-else ループが含まれており、ダブルスペースを押すかスペースバーを連続して押すと下にスクロールするので、2 つを使用できる代替ソリューションが必要です1つはブロック用、もう1つは出力用に機能し、クロムでも機能します。

4

2 に答える 2

0

これらの 2 つの機能を 1 つにまとめてみてはどうでしょうか。

$(document).on("keydown", function (evt) {
  {
    evt.preventDefault();
    evt = evt || window.event;
    var charCode = evt.keyCode || evt.which;
    document.getElementById("current").innerHTML=charCode;
  }
});
于 2013-08-09T20:48:12.923 に答える