零弐壱蜂

[jQuery] Input[readonly] でBackSpaceを効かなくする方法

1 min read

IE 固有の問題で、ReadOnly 属性の Input 要素にフォーカスが当たっている時に BackSpace でページが戻ってしまうというのがある。IE11 でも健在のようだ。

jQuery

$('input[readonly]').on('keydown', function (e) {
  if ((e.which && e.which === 8) || (e.keyCode && e.keyCode === 8)) {
    return false;
  }
});

JavaScript

document.querySelector('input[readonly]').addEventListener('keydown', function (e) {
  if (e.keyCode === 8) {
    e.preventDefault();
  }
});
ページトップへ