2009-05-29 4 views
0

저는 JQuery를 처음 사용했습니다. 내 앱에는 5 개 div가 있습니다. 사업부 중 하나를 클릭하는 동안, 나는 다른 div의가 (처음 문자/텍스트 영역/드롭 다운을 클릭하면서클릭 여부 확인 + Jquery

는 사실 내 코드에서 나는

Text 
Textarea 
Dropdown 

을하기 전에 클릭되었는지 여부를 확인하려면 즉, 나는 자신의 것을 포함하는 다른 것들이 이전에 클릭되었는지 확인해야한다.) 그래서 나는 그것에 기초하여 진행할 수있다.

변수가 = 1이라고 말한 것을 사용하더라도 text/textarea/dropdown 중 하나를 클릭하는 동안 클릭 한 사람과 다른 사람이 클릭했는지 확인하고 싶습니다.

+0

정확히 당신이 달성하려고하는 당신의 실제 시나리오는 무엇입니까? – duckyflip

+0

마지막 단락을 다시 말하십시오. 당신이 무엇을 말하려고하는지 명확하지 않기 때문입니다. 그것은 당신이 여기에 당신의 시도 중 일부를 게시하고 그것에 기초하여 당신의 문제를 지적하게되어 좋을 것입니다. –

답변

1

그냥 변수에서 추적하십시오. 이 예제에서는 "clicked"는 무언가 (이벤트 핸들러 함수를 생성하는 클로저가 좋을 것입니다.) 정의되고 "0"또는 기타 true가 아닌 값으로 initilised된다고 가정합니다.

if (clicked) { 
    a(); 
} else { 
    b(); 
} 
clicked = 1; 
+0

실제로 내 코드에서 .. 나는 Text, Textarea, Dropdown .. Text/textarea/dropdown을 처음으로 클릭하면 한 가지 일을해야한다. 내가 wat를 사용할 경우에도 변수 = 1 .. text/textarea/dropdown 중 하나를 클릭하는 동안 문제가 발생합니다 ..... 이전에 클릭 한 항목이 있는지 확인해야합니다 ..... – useranon

+0

_a_ 변수는 컨트롤 당 변수가 아닙니다. – Quentin

+0

예전에 사용했습니다. 단 하나의 변수 만 ... 당신이 각 컨트롤에 대한 변수를 가지고 있다고 말한 것을 사용한다면, 그 전에 클릭 한 변수를 제외한 모든 변수를 클릭해야합니다. – useranon

0

정확히 무엇을하려고하는지 알 수 없습니다. 그러나 하나 개의 가능한 솔루션은 각 사업부에 대한 새로운 속성을 정의 "was_clicked"말할 수 있도록 할 수 있습니다 때 당신은 다음을 수행 할 수

div.click(function(event) 
{ 
    if ($("div[was_clicked=true]").length > 0) 
    // some of the div was clicked 
    // you can iterate over each clicked div by $("div[was_clicked=true]").each(...) 
    $(this).attr("was_clicked", "true"); 
});