Отключите клавишу Backspace и клавишу Delete с JavaScript в IE

Это должно сработать (я пробовал только на 1 странице, а не на всех 203). Обратите внимание на использование опции stringsAsFactors = F в функции readHTMLTable и необходимость добавлять имена, потому что 1 столбец не получает их автоматически.

library(XML)
library(RCurl)
library(dplyr)
avalanche <- data.frame()
avalanche.url <- "https://utahavalanchecenter.org/observations?page="
all.pages <- 0:202
for(page in all.pages){
  this.url <- paste(avalanche.url, page, sep=" ")
  this.webpage <- htmlParse(getURL(this.url))
  thispage.avalanche <- readHTMLTable(this.webpage, which = 1, header = T,
                                      stringsAsFactors = F)
  names(thispage.avalanche) <- c('Date','Region','Location','Observer')
  avalanche <- rbind(avalanche,thispage.avalanche)
}

avalancheslc <- subset(avalanche, Region == "Salt Lake")
str(avalancheslc)
avalancheslc <- mutate(avalancheslc, Date = as.Date(Date, format = "%m/%d/%Y"),
                 monthyear = paste(year(Date), month(Date), sep = "-"))
13
задан Jin Yong 20 March 2009 в 01:32
поделиться

2 ответа

Этот обработчик событий работает во всех главных браузерах.

function onkeyup(e) {
    var code;
    if (!e) var e = window.event; // some browsers don't pass e, so get it from the window
    if (e.keyCode) code = e.keyCode; // some browsers use e.keyCode
    else if (e.which) code = e.which;  // others use e.which

    if (code == 8 || code == 46)
        return false;
}

Можно присоединить событие к этой функции как:

<input onkeyup="return onkeyup()" />
13
ответ дан 1 December 2019 в 22:24
поделиться

обновление на основе @JoeCoders комментирует и 'устаревший' из моего ответа, я пересмотрел его.

document.querySelector([text input element]).onkeydown = checkKey;
function checkKey(e) {
    e = e || event;
    return !([8, 46].indexOf(e.which || e.keyCode || e.charCode) > -1);
}

См. также этот jsFiddle

5
ответ дан 1 December 2019 в 22:24
поделиться
Другие вопросы по тегам:

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