Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 05.07.2015, 17:22
Аватар для sash003
Аспирант
Отправить личное сообщение для sash003 Посмотреть профиль Найти все сообщения от sash003
 
Регистрация: 23.10.2014
Сообщений: 65

не срабатывает event.returnValue
Здравствуйте, не хочет в ie8 работать
addEvent(input, 'keypress', function(e){
           e = e || window.event;
           if(
           !(/ |\d|\+/.test(String.fromCharCode(e.charCode)))
            ){
               if(e.preventDefault) e.preventDefault();
               else  e.returnValue = false;
           }
       });

function addEvent(elem, type, handler, param){
    param = param || false;
  if(elem.addEventListener){
    elem.addEventListener(type, handler, param);
  } else {
    elem.attachEvent('on'+type, handler);
  }
  return false;
}

Ну чё ж так?
Ответить с цитированием
  #2 (permalink)  
Старый 05.07.2015, 17:41
Профессор
Отправить личное сообщение для Rise Посмотреть профиль Найти все сообщения от Rise
 
Регистрация: 07.11.2013
Сообщений: 4,600

sash003, пора уж научиться учебником пользоваться Мышь: IE8-
Ответить с цитированием
  #3 (permalink)  
Старый 05.07.2015, 18:12
Аватар для sash003
Аспирант
Отправить личное сообщение для sash003 Посмотреть профиль Найти все сообщения от sash003
 
Регистрация: 23.10.2014
Сообщений: 65

Всё равно не работает. какие индусы придумали кроссбраузерные войны..
Ответить с цитированием
  #4 (permalink)  
Старый 05.07.2015, 18:43
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 30,975

Сообщение от sash003
e.charCode
e.keyCode !!!
https://learn.javascript.ru/keyboard-events#getChar

Цитата:
2.Браузер IE для keypress не устанавливает charCode, а вместо этого он записывает код символа в keyCode (в keydown/keyup там хранится скан-код).
как вариант
!(/ |\d|\+/.test(String.fromCharCode(e.charCode||e.keyCode)))

Последний раз редактировалось рони, 05.07.2015 в 18:47.
Ответить с цитированием
  #5 (permalink)  
Старый 06.07.2015, 16:35
Аватар для sash003
Аспирант
Отправить личное сообщение для sash003 Посмотреть профиль Найти все сообщения от sash003
 
Регистрация: 23.10.2014
Сообщений: 65

Всё равно не хочет понимать ишак
Ответить с цитированием
  #6 (permalink)  
Старый 06.07.2015, 17:12
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 30,975

sash003,
всё нормально срабатывает или делайте макет.
Ответить с цитированием
  #7 (permalink)  
Старый 06.07.2015, 17:31
Аватар для sash003
Аспирант
Отправить личное сообщение для sash003 Посмотреть профиль Найти все сообщения от sash003
 
Регистрация: 23.10.2014
Сообщений: 65

Смотрите, так должно быть?
addEvent(input, 'keypress', function(e){
           e = e || window.event;
           if(
           !(/ |\d|\+/.test(String.fromCharCode(e.charCode||e.keyCode)))
            ){
               if(e.preventDefault) e.preventDefault();
               else  e.returnValue = false;
           }
       });
Ответить с цитированием
  #8 (permalink)  
Старый 06.07.2015, 17:38
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 30,975

sash003,
да
Ответить с цитированием
  #9 (permalink)  
Старый 06.07.2015, 17:46
Аватар для sash003
Аспирант
Отправить личное сообщение для sash003 Посмотреть профиль Найти все сообщения от sash003
 
Регистрация: 23.10.2014
Сообщений: 65

А включаешь - не работает
Ответить с цитированием
  #10 (permalink)  
Старый 06.07.2015, 17:48
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 30,975

sash003, проверьте здесь
<!DOCTYPE HTML>

<html>

<head>
  <title>Untitled</title>
  <meta charset="utf-8">
</head>

<body> <input name="">
<script>
var input = document.querySelector('input') ;
  addEvent(input, 'keypress', function(e){
           e = e || window.event;
           if(
           !(/ |\d|\+/.test(String.fromCharCode(e.charCode||e.keyCode)))
            ){
               if(e.preventDefault) e.preventDefault();
               else  e.returnValue = false;
           }
       });

function addEvent(elem, type, handler, param){
    param = param || false;
  if(elem.addEventListener){
    elem.addEventListener(type, handler, param);
  } else {
    elem.attachEvent('on'+type, handler);
  }
  return false;
}


</script>
</body>

</html>
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
onclick срабатывает со 2 раза в ie djonA Общие вопросы Javascript 19 24.03.2013 23:07
AJAX запрос в Internet Explorer срабатывает через раз nikolayseo jQuery 5 12.11.2012 22:13
Нажатие по дате в календаре срабатывает только со второго клика afr0 Events/DOM/Window 4 31.10.2012 11:39
Не срабатывает обертка фун-и в IE8 zilker Internet Explorer 6 16.07.2012 17:54
Не срабатывает при отсутствии в теле документа yuriii jQuery 3 06.05.2010 16:45