2013-06-29 4 views
0

나는이 같은 다른 구성 요소를 포함하는 구성 요소를 만들 다트 웹 UI를 사용했다.처리 clickevents는

screenshot

나는 내부 구성 요소를 클릭 할 때 그 내부 구성 요소의 내부에 화재 및 그것을 포함하는 구성 요소에 영향을주지 않습니다했다 있었다 클릭으로 원하는 응 답. 그러나 내부 구성 요소의 클릭 이벤트는 내부 구성 요소와 외부 구성 요소 모두에서 발생합니다.

내부에 클릭을 처리하고 "버블 링"에서 그것을 방지하는 방법은 부모 요소까지 있습니까? 마우스 이벤트에

<!DOCTYPE html> 
<html> 
    <head> 
    <link rel="import" href="ColorItem.html"> 
    </head> 
    <body> 
    <element name="color-item-with-inside-color-item" constructor="ColorItemWithInsideColorItem" extends="ColorItem"> 
     <template> 
     <style scoped> 

       #inner-color-item div{ 
       border:5px solid WhiteSmoke; 

       } 

       #inner-color-item { 
        margin-top:10px; 
        margin-bottom:0px; 
       } 

     </style> 

     <color-item color_text="{{color_text}}" bg_color="{{bg_color}}" text_color="{{text_color}}"> 
      <color-item id="inner-color-item" style></color-item> <!-- THIS IS THE INNER ITEM --> 
     </color-item> 

     </template>  
     <script type="application/dart" src="ColorItemWithInsideColorItem.dart"></script> 
    </element> 
    </body> 
</html> 

답변

1

당신이 evt.stopPropagation를 호출 할 수 있어야한다EVT()는 버블 링 방지합니다.<컬러 항목 ID = "내부 컬러 아이템"= "mouseEventHandler을"을 클릭> :이 같은 이벤트를 클릭

+0

나는 요소에 이벤트 처리기를 넣어보십시오. 그리고 다트 스크립트에서 I는 다음과 같이 작성 핸들러가 있습니다 mouseEventHandler (된 MouseEvent의 EVT) { 인쇄 ("무언가를"); evt.stopPropagation(); }하지만 슬프게도 결코 발생하지 않습니다. 웹 컴포넌트 내부의 요소에 대한 클릭 이벤트를 듣는 방법을 알고 있습니까? 전 라이프 사이클 이벤트에 리스너를 추가하려했지만 내부 요소에 액세스 할 수 없습니다. 어쩌면 부모 요소 created()가 호출 된 후에 생성됩니까? – MrMambo007

+0

아마 여러 가지 방법이 있습니다. 나를 위해 일한 접근법은 청취자를 붙이는 _inserted() _ 메소드 내부에 있습니다. 살펴 유무 : _element.onMouseDown.listen ((: https://github.com/patefacio/split_panel/blob/master/lib/src/s_p_impl/s_p_panel_base.dart를 _inserted_ 함께 마우스 이벤트에 후크 __attachListeners_를 호출 E) ...) _ 또한, 당신은 build.dart 설정이 있고 HTML을 업데이트 할 때 새로운 코드가 생성되고 있는지 확인합니다. – user1338952

+0

제안 해 주셔서 감사합니다. 해키 한 솔루션을 시도해보고 나에게도 효과가 있는지 살펴 보겠습니다. 자동으로 실행되도록 build.dart를 설정했지만 자주 강제로 실행하여 강제로 실행합니다. 다트 팀이 웹 UI에서 이벤트 처리에 대한 여러 접근 방식을 더 잘 문서화 할 수 있기를 바랍니다. 그 아직 초보자 약간 어둡게. – MrMambo007