2014-02-26 2 views
0

내가하고 싶은 것은 li 요소를 클릭하면 색이 바뀌어야한다는 것입니다. 문제는 : : active를 넣으면 android 4.0 이상에서 작동하지만 작동하지 않습니다. 안드로이드 2.3 이하. 문제가 뭔지 모르겠다. 내가 누를 때 내가 배경색을 바꿀 수있는 다른 방법이 있을까?a : 액티브가 phonegap에서 작동하지 않습니다

HTML :

<div id="nav"> 
<ul id="navigation"> 
<li><a href="#">Requirements</a></li> 
<li><a href="#">Release dates</a></li> 
<li><a href="#">Game Plot</a></li> 
<li><a href="#">Game Review</a></li> 
<li><a href="#">About</a> </li> 
<li><a href="#">About</a> </li> 
</ul> 

CSS :

#navigation a:active 
{color:pink; 
background-color:#FF5C33; 
} 

참고 : A : 아래의 안드로이드 2.3에 작품을 맴 돕니 다.

+0

당신은 #의 navigation' 내가 –

+0

srry'id 인'#'를 잊었다 하지만 의사 클래스': active'는 클릭에 해당하지 않지만 mousedown에서는 mouseup에서 제거해야합니다. –

답변

1

의사 선택기를 사용하지 않고 javascript를 사용하여이 작업을 수행 할 수 있습니다.

변경이 귀하의 CSS를 ...

#navigation a.active { 
    color:pink; 
    background-color:#FF5C33; 
} 

이 자바 스크립트를 추가 ...

웹보기의 이전 버전을 사용하는 안드로이드의 이전 버전에서 작동합니다
$(function() { 
    $("#navigation a").on("mousedown", function() { 
     $(this).addClass("active"); 
    }).on("mouseup", function() { 
     $(this).removeClass("active"); 
    }); 
}); 

. 아처의 대답 @에서 영감을 사용

+0

이 좋아 보이는 것을 복사하는 것을 잊었다 –

+0

@ A.Wolff 예 - 발견해 주셔서 감사합니다. 나는 질문을 잘못 읽었고': active'를 사용함에도 불구하고 나는 그가 클릭했을 때를 의미한다고 생각했다. – Archer

1

, 당신은 그것을 위해 자바 스크립트를 사용할 수 있습니다

$(function() { 
    $("#navigation a").on("mousedown mouseup", function() { 
     $(this).toggleClass("active"); 
    }); 
}); 

jsFiddle

+0

내 "고정 된"답변 (감사)보다 훨씬 깔끔하지만, CSS 변경 사항이 있기 때문에 삭제하지 않을 것입니다. – Archer

+0

궁금한데, 대상 장치에서 'mousedown mouseup'이 올바르게 지원되고 있습니까? ... 터치 시작 및 종료 이벤트 대신 사용할 수 있습니까? 그리고 여전히, 내가 알지 못하는 몇 가지 단점을 얻을 수 있습니다. –

+0

저는 현재 Cordova 앱을 직접 만들고 마우스/터치 이벤트 인 지뢰밭을 만들고 있습니다. 우리가 일주일 내내 여기에있을 수 있습니다! 나는이 질문의 목적을 위해 mouseedown & mouseup이 정확하다고 생각한다. (내일까지!) – Archer

관련 문제