2013-12-17 2 views
1

변경된 함수를 실행하는 AJAX가로드 된 드롭 다운이 있지만, 이미 선택된 옵션을 클릭하면 함수가 실행되기를 원합니다. (예를 들어, 누군가가 내가 두 번 그들 사이에 다른 옵션을 선택하지 않고도 기능을 실행하려면, 행에서 옵션을 두 번 선택)select 옵션을 두 번 선택하면 함수가 실행됩니다.

JAVASCRIPT :

$(document).on('change','#dropdown',function(e){ 
    //do stuff 
} 

HTML :

<select id="dropdown"> 
    <option value="optionA">option A</option> 
    <option value="optionB">option B</option> 
    <option value="optionC">option C</option> 
</select> 
+0

당신은 그들이 드롭 다운을 열 경우를 실행 한 다음 자신의 선택을 변경하지 않고 닫습니다, 의미? –

+0

그러면 값이 변경되지 않으므로'change'는 아마도 원하는 이벤트가 아닙니다. –

+0

가능한 중복 [HTML 선택 요소가 닫힐 때 발생하는 DOM 이벤트가 있습니까?] (http://stackoverflow.com/questions/6207929/is-there-a-dom-event-that-fires-when- an-html-select-element-is-closed) – iambriansreed

답변

-2

사용

$(document).on('select','#dropdown',function(e){ 
    //do stuff 
} 

또는

$(document).on('click','#dropdown',function(e){ 
    //do stuff 
} 
+0

-1'.select()'는 텍스트를 선택하기위한 것입니다. http://api.jquery.com/select/ 값이 설정되기 전에'.click'이 실행됩니다. – iambriansreed

+0

사과합니다. 나는 실수로 jqxWidget을 참조했습니다. "이벤트"드롭 다운 목록에서 선택하십시오. – jtrumbull

+0

"값을 설정하기 전에 .click이 실행됩니다."값을 설정하지 않아도되므로이 예제에서는 중요하지 않습니다. 이 예제에서 드롭 다운은 연속적으로 여러 번 클릭해야한다는 것을 나타냅니다. – jtrumbull

0

실험에는 다소 시간이 걸렸지 만 선택 항목의 드롭 다운 메뉴가 클릭되었는지 감지하는 방법이 있습니다.

click 이벤트에 코드를 이동하고 같은 그 주위에있는 경우 태그를 포장

:

if(event.pageY<0) 
{ 
    // The dropdown menu on the select was clicked! 
} 

에만이 if가 필요한 이유는, 때문에 두 브라우저 내가 관리 한 사실이다 이를 테스트하려면 이벤트가 트리거 될 때 커서가 실제 페이지 외부에있는 것처럼 보이게하십시오.

http://jsfiddle.net/Entoarox/ATm43/에서 데모를 찾을 수 있습니다.

이벤트 객체의 pageY 속성은 jQuery가 브라우저 간 일관성을 위해 표준화하는 속성 중 하나입니다.

http://api.jquery.com/category/events/event-object/

change 스크립트에 교체 :

$(document).on('click','#dropdown',function(event){ 
    if(event.pageY >= 0) return; // return and don't do anything 
    // The dropdown menu on the select was clicked! 
    // do stuff 
}); 
+0

+1 아주 좋아요. 이것은 총체적인 감각을 만든다! – iambriansreed

+0

당신의 대답을 맡아서 미안합니다. 그래서이 아이디어에 대해 수많은 질문이 있지만 귀하의 대답은 제가 실제로 본 작품 중 유일합니다. 그래서 나는 그것이 가능한 한 완벽 해지기를 원했습니다. 명성. – iambriansreed

+0

DV가 필요한 이유는 무엇입니까? – iambriansreed

관련 문제