Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / Как запретить Backspace и Alt+стрелка влево? (Возврат на предыдущую страницу) / 16 сообщений из 16, страница 1 из 1
26.10.2010, 14:16
    #36920389
maple4
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как запретить Backspace и Alt+стрелка влево? (Возврат на предыдущую страницу)
Сейчас делаю так:

<script type="text/javascript">
var bsp = false;
function checkButton() {
if (!bsp) {
if(event.altKey || event.keyCode==8 || event.keyCode==13) {
return false;
}
}
}
document.body.onkeydown = checkButton;
</script>


Для разрешения backspace (ведь нужная кнопка!) в в input и textarea:

<br><input type="text" name="text_name2" id="text_id2" value="text2" onfocus="bsp=true;" onblur="bsp=false;" /><br/>
<br><textarea name="textarea_name" id="textarea_id" cols="20" rows="5" onfocus="bsp=true;" onblur="bsp=false;" >Textarea</textarea><br/>


Все здорово, кроме одного:
Alt+стрелка влево все-таки срабатывает при нахождении в элементах...

Если способ (javascript-код) "побороть" Alt-влево?
...
Рейтинг: 0 / 0
26.10.2010, 14:26
    #36920414
ShSerge
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как запретить Backspace и Alt+стрелка влево? (Возврат на предыдущую страницу)
maple4,

Во-первых у Вас код ИЕ онли. Ну да ладно, тогда проще: на своих елементах напишите что-то типа,
onkeydown="event.cancelBubble=true", может и поможет. Не уверен. Не пробовал.
...
Рейтинг: 0 / 0
26.10.2010, 15:37
    #36920659
maple4
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как запретить Backspace и Alt+стрелка влево? (Возврат на предыдущую страницу)
ShSerge,

У меня в IE данный код не заработал...
К сожалению, знаю javascript не очень хорошо.
Например, пробовал код с ; - с тем же результатом.
onkeydown="event.cancelBubble=true;"
...
Рейтинг: 0 / 0
26.10.2010, 16:39
    #36920860
Antonariy
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как запретить Backspace и Alt+стрелка влево? (Возврат на предыдущую страницу)
Нужно запоминать нажатые клавиши, а в обработчике onbeforeunload их проверять. Если окажется, что было запомнено alt и 37 (влево), делать return false.
...
Рейтинг: 0 / 0
26.10.2010, 18:27
    #36921156
maple4
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как запретить Backspace и Alt+стрелка влево? (Возврат на предыдущую страницу)
Antonariy,

Может, кто подскажет достаточно простой пример реализации (запрет этой комбинации: Alt+стрелка влево)?
...
Рейтинг: 0 / 0
26.10.2010, 20:46
    #36921440
Antonariy
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как запретить Backspace и Alt+стрелка влево? (Возврат на предыдущую страницу)
Как-то так:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
<script>
    var alt, key;
    
    document.onbeforeunload = function(){
        if((alt)&(key== 37 )){
            return false
        }else{
            return true
        }
    }
</script>

<body onkeypress="alt=window.event.altKey;key=window.event.keyCode">
Только onkeypress у меня не кроссброузерный, никак не могу запомнить, как правильно.
...
Рейтинг: 0 / 0
26.10.2010, 20:47
    #36921442
Antonariy
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как запретить Backspace и Alt+стрелка влево? (Возврат на предыдущую страницу)
И onkeydown конечно, а не press.
...
Рейтинг: 0 / 0
26.10.2010, 20:49
    #36921447
ShSerge
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как запретить Backspace и Alt+стрелка влево? (Возврат на предыдущую страницу)
AntonariyИ onkeydown конечно, а не press.
В опере таки пресс.
...
Рейтинг: 0 / 0
27.10.2010, 10:26
    #36922068
maple4
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как запретить Backspace и Alt+стрелка влево? (Возврат на предыдущую страницу)
Antonariy,
У меня в IE alt-влево (написал все alt) все равно срабатывает :(

<script>
var alt, key;

document.onbeforeunload = function(){
if((alt)){
return false
}else{
return true
}
}
</script>

<BODY oncontextmenu="return false" onkeydown="alt=window.event.altKey;key=window.event.keyCode">
...
Рейтинг: 0 / 0
27.10.2010, 10:52
    #36922140
Antonariy
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как запретить Backspace и Alt+стрелка влево? (Возврат на предыдущую страницу)
Тупанул, не document.onbeforeunload, a window.
...
Рейтинг: 0 / 0
27.10.2010, 11:06
    #36922188
maple4
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как запретить Backspace и Alt+стрелка влево? (Возврат на предыдущую страницу)
Antonariy,
Функция возвращает false...
но осталось победить форму, которая выскакивает при нажатии
...
Рейтинг: 0 / 0
27.10.2010, 21:45
    #36924182
ShSerge
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как запретить Backspace и Alt+стрелка влево? (Возврат на предыдущую страницу)
Не знаю куда там какая стрелка. Сегодня с аналогичной проблемой столкнулся. Инпут, типа "текст", если он ридонли, то при нажатии бэкспейса происходит переход на предыдущую страницу. А мне надо было текст прибить в ридонли инпуте. Это только в ИЕ наблюдается. Поэтому написал так:
В случае нажатия онмоуседовн кнопки назад (не помню кода),
if(window.event!=null){...очистил...; event.returnValue=false; event.cancelBubble=true; return false;}
Работает.
...
Рейтинг: 0 / 0
27.10.2010, 22:02
    #36924216
mage.lan
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как запретить Backspace и Alt+стрелка влево? (Возврат на предыдущую страницу)
Кнопки, боюсь, запретить не удастся. Но есть драконовский способ - почистить хистори, тогда бэк ни в каком варианте не сработает.
...
Рейтинг: 0 / 0
27.10.2010, 22:07
    #36924222
mage.lan
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как запретить Backspace и Alt+стрелка влево? (Возврат на предыдущую страницу)
Хм. Торможу. Событие за собой чистить не забывайте. Можно в гугле код найти, кроссбраузерного cancelBubble
...
Рейтинг: 0 / 0
27.10.2010, 22:12
    #36924227
ShSerge
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как запретить Backspace и Alt+стрелка влево? (Возврат на предыдущую страницу)
mage.lanХм. Торможу. Событие за собой чистить не забывайте. Можно в гугле код найти, кроссбраузерного cancelBubble
У меня и так кроссбраузерно, я же написал, типа if(window.event), а это означает - эксплорер.
...
Рейтинг: 0 / 0
Период между сообщениями больше года.
06.04.2015, 07:58
    #38927673
Гость12345
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как запретить Backspace и Alt+стрелка влево? (Возврат на предыдущую страницу)
Попробуйте location.replace("ваш URL")
...
Рейтинг: 0 / 0
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / Как запретить Backspace и Alt+стрелка влево? (Возврат на предыдущую страницу) / 16 сообщений из 16, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]