Actionscript 3 如何检查鼠标单击是否在元素内
当单击事件针对父元素时,检查是否在子元素内单击鼠标的代码是什么。仅当单击位于子元素内部时,我需要区分以执行某些任务。flex中发生了什么样的传播?我对这个有点陌生 我有一个带视频显示和视频控制栏的视频播放器。我为占据全屏的视频播放器注册点击事件。单击控制栏时应切换(按编程),但单击控制栏中的任何元素时,整个控制栏将消失Actionscript 3 如何检查鼠标单击是否在元素内,actionscript-3,apache-flex,flash-builder,Actionscript 3,Apache Flex,Flash Builder,当单击事件针对父元素时,检查是否在子元素内单击鼠标的代码是什么。仅当单击位于子元素内部时,我需要区分以执行某些任务。flex中发生了什么样的传播?我对这个有点陌生 我有一个带视频显示和视频控制栏的视频播放器。我为占据全屏的视频播放器注册点击事件。单击控制栏时应切换(按编程),但单击控制栏中的任何元素时,整个控制栏将消失 <!-- Player Container --> <s:BorderContainer width="100%" height="100%"
<!-- 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;
}
公共函数hideControls(事件:事件):无效{
hidePlaylist();
切换元素(标题);
toggleElem(备用放置容器);
切换视频播放器();
}
公共功能切换VideoPlayer(){
变量控件:Object=vid_player.videoDisplay.parent.getChildAt(1);
如果(控件可见)
控件。可见=假;
其他的
controls.visible=true;
}
最简单的方法可能是:
private function mouseHandler(event:MouseEvent/*was e:MouseEvent*/):void {
whateverObject.hitTestPoint(event.stageX, event.stageY, false); // use shape flag is 3rd argument
}
你能给我们一些代码吗?它给出了这个错误:1119:通过静态类型flash的引用访问可能未定义的属性StageX。events:MouseEvent.StageX应该是小写的S?