2016-11-24 4 views
0

нажатие клавиши событие HTML не работает в мобильных устройствах

function keyDown() 
 
{ 
 
alert("KeydownEvent Fired"); 
 
} 
 
function keypress() 
 
{ 
 
alert("keypress Event Fired") 
 
} 
 
function keyup() 
 
{ 
 
alert("key up event fired"); 
 
} 
 
function onlyAlphabets(e) { 
 
       debugger; 
 
       try { 
 
        if (window.event) { 
 
         var charCode = window.event.keyCode; 
 
        } 
 
        else if (e) { 
 
         var charCode = e.which; 
 
        } 
 
        else { return true; } 
 
        var keyCodes = [13, 16, 18, 19, 20, 27, 33, 34, 35, 36, 37, 38, 39, 40, 45, 91, 92, 93, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 96, 97, 98, 99, 
 
            100, 101, 102, 103, 104, 105, 144, 145]; 
 
        if (keyCodes.indexOf(charCode) != -1) { 
 
         return false; 
 
        } 
 
        else if ((charCode > 64 && charCode < 91) || (charCode > 96 && charCode < 123) || charCode == 8 || charCode == 32 || charCode == 9 || charCode == 46 || charCode == 37 || charCode == 39 || charCode == 16 || charCode == 17) 
 
         return true; 
 
        else 
 
         return false; 
 
       } 
 
       catch (err) { 
 
        alert(err.Description); 
 
       } 
 
      }
<input type="textbox" placeholder="Keydown" onkeydown="return onlyAlphabets(event,this);"></input> 
 
</br> 
 
<input type="textbox" placeholder="Keypress" onkeypress="keypress()"></input> 
 
</br> 
 
<input type="textbox" placeholder="Keyup" onkeyup="keyup()"></input> 
 
</br>

Это просто кусок кода.

У меня есть некоторые входные теги, которые имеют разные события нажатия клавиш, а затем я загрузил его, чтобы жить, он отлично работает во всех браузерах. , но когда я пытаюсь открыть свою страницу в мобильном телефоне или планшете, он не работает нормально.

Даже если сигналы работает в браузерах, но я сохранил валидацию для имени на KeyDown, что пользователь может ввести только алфавиты (числовой и специальный символ не допускается)

+0

@SaravInfern Этот код Не работает в мобильном браузере – Sreekumar

+0

Возможный дубликат [JavaScript-события нажатия клавиш, не поднятого в браузере Android] (http://stackoverflow.com/questions/21055270/javascript-keypress-event- not-raise-on-android-browser) –

+0

@ VladMatvienko Я тоже посмотрел на него, но все еще не работаю на мобильные – Sreekumar

ответ

1

В мобильном браузере и onkeydown и onkeyup будут работать. Я думаю, у вас есть простые синтаксические ошибки, которые могут быть проблемой

Проверьте это fiddle в вашем мобильном телефоне. 2 события стрельбы, кроме onkeypress

DEMO: -

<script> 
 
function keyDown() 
 
{ 
 
alert("KeydownEvent Fired"); 
 
} 
 
function keypress() 
 
{ 
 
alert("keypress Event Fired") 
 
} 
 
function keyup() 
 
{ 
 
alert("key up event fired"); 
 
} 
 
</script> 
 
<input type="textbox" placeholder="Keydown" onkeydown="keyDown()"/> 
 
<br/> 
 
<input type="textbox" placeholder="Keypress" onkeypress="keypress()"/> 
 
<br/> 
 
<input type="textbox" placeholder="Keyup" onkeyup="keyup()"/> 
 
<br/>

EDIT: -

Для добавления проверки Вы должны обращаться в onkeydown. проверьте это fiddle для получения более подробной информации

+0

события могут быть запущены, но вы можете помочь мне с проверкой, значит, я должен ограничить пользователя от ввода любого числа значение или специальный символ, он не работает – Sreekumar

+0

Я обновил ответ – jafarbtech

+0

, пожалуйста, откройте ту же самую ссылку на скрипт в своем устройстве Android и проверьте .. он не работает (я использую ANDROID- браузер Chrome) – Sreekumar

Смежные вопросы