Как я могу препятствовать тому, чтобы клавиша Backspace перешла назад?

O (n), если dict является хешем, O (nlogn), если dict является деревом, и простой, зафиксированный. Благодаря Matthew для предложения. Извините я не знаю базовые типы.

def unique(x):    
  output = []
  y = {}
  for item in x:
    y[item] = ""

  for item in x:
    if item in y:
      output.append(item)

  return output
268
задан John Weisz 10 August 2016 в 10:27
поделиться

3 ответа

Этот код решает проблему, по крайней мере, в IE и Firefox (другие не тестировал, но даю ему разумный шанс на работу, если проблема существует в других браузерах).

// Prevent the backspace key from navigating back.
$(document).unbind('keydown').bind('keydown', function (event) {
    if (event.keyCode === 8) {
        var doPrevent = true;
        var types = ["text", "password", "file", "search", "email", "number", "date", "color", "datetime", "datetime-local", "month", "range", "search", "tel", "time", "url", "week"];
        var d = $(event.srcElement || event.target);
        var disabled = d.prop("readonly") || d.prop("disabled");
        if (!disabled) {
            if (d[0].isContentEditable) {
                doPrevent = false;
            } else if (d.is("input")) {
                var type = d.attr("type");
                if (type) {
                    type = type.toLowerCase();
                }
                if (types.indexOf(type) > -1) {
                    doPrevent = false;
                }
            } else if (d.is("textarea")) {
                doPrevent = false;
            }
        }
        if (doPrevent) {
            event.preventDefault();
            return false;
        }
    }
});
328
ответ дан 23 November 2019 в 02:22
поделиться

Судя по комментариям, похоже, что вы хотите, чтобы люди не теряли информацию в формах, если они нажимают клавишу возврата для удаления, но поле не фокусируется.

В этом случае вы хотите посмотреть в обработчике события onunload . Stack Overflow использует его - если вы попытаетесь покинуть страницу, когда начали писать ответ, появляется предупреждение.

8
ответ дан 23 November 2019 в 02:22
поделиться

Не уверен, почему никто не ответил на это - кажется вполне разумным техническим вопросом, возможно ли это.

Нет, я не думаю, что существует кроссбраузерный способ отключите кнопку возврата. Я знаю, что в наши дни он не включен по умолчанию в FF.

5
ответ дан 23 November 2019 в 02:22
поделиться
Другие вопросы по тегам:

Похожие вопросы: