2014-01-23 4 views
0

나는 RichFaces 내가 마우스 클릭으로 알림 팝업을 닫을 수있는 기능을 구현하려는RichFaces notifyMessage 요소를 마우스로 클릭하는 방법은 무엇입니까?

<rich:notifyMessages sticky="true" showCloseButton="false"/> 

같은 메시지 요소를 통지합니다. 물론 showCloseButton = "true"를 사용할 수는 있지만, 팝업의 오른쪽 상단에있는 작은 십자가는 사용하기가 쉽지 않다고 생각합니다. notifyMessage 요소 위에 마우스 클릭 이벤트를 잡을 수있는 방법이 있습니까?

리치 페이스 버전은 4.2.1입니다. 최종

감사합니다.

답변

0

사용자 Makhiel이 올바른 방법입니다. 실제로 당신은 클래스 rf-ntf-cls과 함께 div에 대한 클릭 핸들러를 추가해야합니다. 사용 된 모든 클래스에 대한 설명은 here입니다.

주요 문제는 페이지가 준비된 후에 이러한 팝업 요소를 추가 할 수 있으므로 팝업 추가 후 클릭 핸들러를 추가해야한다는 것입니다. 내 경우

나는 팝업을 생성 한 통화 결국 기능

jQuery('.rf-ntf-cnt').click(function(){jQuery(this).css({visibility:'hidden'})}) 

을했다. 나는 js의 전문가가 아니며 이것이 가까운 팝업을위한 최선의 방법이라고 확신하지는 않지만 그 생각은 분명하다고 생각합니다.

1

아마 가장 쉬운 이것이다 :

<rich:notifyMessages … onclick="$(this).find('.rf-ntf-cls').triggerHandler('click');"/> 

RichFaces는 Pines notify 플러그인을 사용하지만, 메시지는 직접 닫는이 "원격"를 지원하지 않는 것.

+0

답변 해 주셔서 감사합니다. 실제로''는 클릭 가능한 요소 자체를 생성하지 않으며 코드에서 단지 내용 만 또는 클릭 가능 영역없이' "입니다. 페이지 끝 부분에 '

...
'과 같은 팝업으로 생성 된 div가 있으며 절대 위치가 포함되어 있으므로 다른 방법으로 클릭 핸들러를 삽입해야합니다. –

+0

당신은 맞습니다. 클릭 할 수있는 요소를 생성하지 않지만 그건 중요하지 않습니다. '@ onclick'은 생성 된 메시지에 적용되고 빈 스팬에는 적용되지 않습니다. – Makhiel

+0

이 솔루션을 사용해 보았지만 작동하지 않습니다. –

관련 문제