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
Этот код решает проблему, по крайней мере, в 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;
}
}
});
Судя по комментариям, похоже, что вы хотите, чтобы люди не теряли информацию в формах, если они нажимают клавишу возврата для удаления, но поле не фокусируется.
В этом случае вы хотите посмотреть в обработчике события onunload . Stack Overflow использует его - если вы попытаетесь покинуть страницу, когда начали писать ответ, появляется предупреждение.
Не уверен, почему никто не ответил на это - кажется вполне разумным техническим вопросом, возможно ли это.
Нет, я не думаю, что существует кроссбраузерный способ отключите кнопку возврата. Я знаю, что в наши дни он не включен по умолчанию в FF.