jquery를 사용하여 다음과 같이 코드를 작성하는 방법을 배우고 싶습니다.jquery 첫 번째 터치에서만 preventdefault
$(".portfolio a").one("click", false);
이 코드는 시각적 메뉴 링크의 hover
이벤트에 대한 것입니다. 첫 번째 터치에서 이어지는 링크를 막으려 고하므로 첫 번째 터치에서 마우스 오버 이벤트가 발생하고 두 번째 터치가 링크로 연결됩니다.
호버 클래스는
jquery를 사용하여 다음과 같이 코드를 작성하는 방법을 배우고 싶습니다.jquery 첫 번째 터치에서만 preventdefault
$(".portfolio a").one("click", false);
이 코드는 시각적 메뉴 링크의 hover
이벤트에 대한 것입니다. 첫 번째 터치에서 이어지는 링크를 막으려 고하므로 첫 번째 터치에서 마우스 오버 이벤트가 발생하고 두 번째 터치가 링크로 연결됩니다.
호버 클래스는
오히려 :hover
의사 선택기를 사용보다는 .hover
클래스를 추가하는 것이 더 자연 수 있습니다 ... HREF 연결되어 있습니다. 그러면 다음을 수행 할 수 있습니다.
$(".portfolio a").one("click", function(e) {
e.preventDefault();
$(this).addClass('hover');
});
다음 번 클릭은 정상적으로 작동합니다.
Thanks jmar777 - 그래도 마우스 클릭에 영향을주는 것 같습니다. 터치 장치 동작에만 영향을 줄 수있는 솔루션을 찾고 있습니다 (원본 CSS 호버가 마우스에서 작동 함). – laura
흠 ... 나는 이벤트만으로 차별화 할 수 있을지 확신하지 못합니다. 필자가 아는 한, 모바일 감지 로직을 결합하여 사용할 동작을 결정해야합니다. 이러한 종류의 문제를 해결하는 데 도움이되는 터치 이벤트에 대한 W3C 사양이 있지만 '마지막 전화'상태 인 것으로 나는 생각합니다. – jmar777
그래, 정말 고마워. jmar777, 해결할 다른 접근법을 살펴볼 것이다! – laura
$(".portfolio a").one("click", false, function(event){
event.preventDefault();
};);
보십시오이
왜 '거짓'데이터 매개 변수입니까? – jmar777
user2249066 코드에 넣었으므로 코드를 제거하지 않았습니다. – underscore
그러나 그는 코드를 여러 번 편집하고 있습니다. ( – underscore
그냥 시험 :
if ("ontouchstart" in document.documentElement) {
$(".portfolio a").one("click", false, function(e){
e.preventDefault();
}
}
또는 그 반대의 경우도 마찬가지
$(".portfolio a").one("click", false, function(e){
if ("ontouchstart" in document.documentElement) {
e.preventDefault();
}
}
고마워. 어제부터 터치 장치에서 제대로 작동하는 드롭 다운 메뉴를 얻는 방법과 모든 종류의 복잡한 솔루션을 본 적이 있습니다. 그런 다음 당신의 대답을 발견했습니다. –
당신이 [링크]로 봤어 (HTTP : //stackoverflow.com/questions/9696533/jquery-hover-event-on-a-tag-on-mobile-devices) – Vidhuran
감사합니다 Vidhuran, 전 정말 inter 터치 전용 jquery에서 one-click-false (또는 preventdefault)와 동일한 기능이 있는지 보려면 ested를 사용합니다.이 경우에는 마치 호버링 문제에 대한 가장 직접적인 해결책이 될 것입니다 ... – laura