2016-08-12 5 views
1

habe ich versucht, eine ganze Reihe von Dingen ab:
onClick not working on mobile (touch)Knopf onClick nicht auf dem mobilen Gerät arbeitet

document .click function for touch device

aber nichts scheint zu funktionieren.

Hier ist, was ich habe:

#modal-close {cursor:pointer;} 

<button class="button" id="modal-close">ok</button> 

function hideModal(){ 
    var modal = document.getElementById('modal'); 
    modal.style.display = 'none'; 
} 

$(function() { 
     $('#modal-close').on('click touchstart',function (e) { 
      hideModal(); 
      }) 
     }); 

Was könnte ich falsch gemacht?

+0

Verwenden Sie dieses '$ (' # modal-close ') (klicken Berührungsstart ' function() { hideModal(); })' auf.' –

+0

Ich habe dieses Problem auf ios gesehen. touch löst den Schwebezustand aus und löst kein Klickereignis aus. Ich glaube, wir haben dies verwendet, um das Problem zu lösen: https://github.com/ftlabs/fastclick –

+0

@RashidJaved Funktioniert nicht –

Antwort

-1

Es stellte sich heraus

#modal-close {cursor:pointer;} 

<button class="button" id="modal-close">ok</button> 

function hideModal(){ 
    var modal = document.getElementById('modal'); 
    modal.style.display = 'none'; 
} 

$(function() { 
     $('#modal-close').on('click touchstart',function (e) { 
      hideModal(); 
      }) 
     }); 

Die Sache gültig war, dass mich bekam hideModal() war die classList verwendet, um Klassen hinzuzufügen oder zu entfernen. Ich habe es auf className += umgestellt und es funktionierte so wie es sollte.

0

Ändern Sie die ID Ihrer Schaltfläche zu modal_close. Dies kann für Sie arbeiten. Der ID-Wert verhält sich wie ein Bezeichner, daher gibt es die Regel, dass nicht jedes Symbol für die Benennung von Bezeichnern verwendet werden kann.

+0

Dies hat nicht funktioniert. –

Verwandte Themen