2014-06-11 1 views
1

일반 컴퓨터에서 완벽하게 작동하지만 태블릿 장치에서는 올바르게 작동하지 않는 페이지가 있습니다. 문제는 내가 인라인 onclick 처리기를 사용하고 있고 그들은 만지면 해고되지 않는다는 것입니다.onclick listener js에 대한 ontouch 이벤트를 위임합니다.

동일한 기능 ontouch 또는 onclick (그러나 두 번이 아닌)을 호출하도록 리팩토링하지 않고도 일반 onclick 이벤트를 확장하는 방법은 무엇입니까?

나는이 같은 여러 요소 :

<button onclick="alert('OK')"></button> 

가 어떻게 그들이 그들 각각에 ontouch 핸들러를 추가하지 않고 작업을 할 수 있습니까?

답변

1

나는 해결책을 찾았습니다. 그것은 저에게 효과가있는 것으로 보이지만 확실하지 않습니다. 터치시 클릭 이벤트 만 트리거하여 기본 동작을 취소합니다.

클릭 처리기, 인라인 모든 종류의 일을하고

$(document).on('touchstart', function(event){ 
     event.target.click(); 
     event.preventDefault(); 
    }); 
의 jQuery .click()에 전달 된 것으로 보인다