0

クリックイベントが親要素の場合、子要素内でマウスがクリックされたかどうかを確認するコードは何ですか? クリックが子要素内にある場合にのみ、特定のタスクを実行するように区別する必要があります。フレックスではどのような伝播が発生しますか? 私はこれに少し慣れていません。

ビデオ ディスプレイとビデオ コントロール バーを備えたビデオ プレーヤーがあります。フルスクリーンを占有するビデオプレーヤーのクリックイベントを登録します。クリックすると、コントロール バーは (プログラムに従って) トグルする必要がありますが、コントロール バーの任意の要素をクリックすると、バー全体が消えます。

<!-- Player Container -->
<s:BorderContainer width="100%" height="100%"
           backgroundAlpha="0"
           borderVisible="false">

  <s:VideoPlayer id="vid_player"
          width="100%" height="100%"
          verticalCenter="0"
          horizontalCenter="0"
          skinClass="Skins.VideoPlayerSkin"
          maintainProjectionCenter="true"
          mouseDown="hideControls(event)"
          autoPlay="true" source="{current_video.getSource()}"/>            
</s:BorderContainer><!-- Player Container -->

public function hideControls(event:Event):void {
  hidePlaylist();
  toggleElem(header);
  toggleElem(sec_drop_container);
  toggleVideoPlayer();
}

public function toggleVideoPlayer() {
    var controls:Object = vid_player.videoDisplay.parent.getChildAt(1);
    if(controls.visible)
        controls.visible=false;
    else
        controls.visible  = true;
}
4

1 に答える 1

2

おそらく最も簡単な方法は次のとおりです。

private function mouseHandler(event:MouseEvent/*was e:MouseEvent*/):void {
    whateverObject.hitTestPoint(event.stageX, event.stageY, false); // use shape flag is 3rd argument
}
于 2013-01-17T18:19:46.530 に答える