Javascript-форум (https://javascript.ru/forum/)
-   Events/DOM/Window (https://javascript.ru/forum/events/)
-   -   не срабатывает event.returnValue (https://javascript.ru/forum/events/56819-ne-srabatyvaet-event-returnvalue.html)

sash003 05.07.2015 17:22

не срабатывает 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;
}

Ну чё ж так?

Rise 05.07.2015 17:41

sash003, пора уж научиться учебником пользоваться Мышь: IE8-

sash003 05.07.2015 18:12

Всё равно не работает. какие индусы придумали кроссбраузерные войны.. :(

рони 05.07.2015 18:43

Цитата:

Сообщение от 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)))

sash003 06.07.2015 16:35

Всё равно не хочет понимать ишак :-?

рони 06.07.2015 17:12

sash003,
всё нормально срабатывает или делайте макет.

sash003 06.07.2015 17:31

Смотрите, так должно быть?
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;
           }
       });

рони 06.07.2015 17:38

sash003,
да

sash003 06.07.2015 17:46

А включаешь - не работает :yes:

рони 06.07.2015 17:48

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>


Часовой пояс GMT +3, время: 08:59.