HTML5画布鼠标悬停在画布上的事件
我正在将图像加载到画布元素并播放声音文件 我想在画布上的图像上移动鼠标时再次播放声音。 我知道如何在画布下添加一个按钮,但我不知道如何将鼠标移到图像上HTML5画布鼠标悬停在画布上的事件,html,image,audio,canvas,Html,Image,Audio,Canvas,我正在将图像加载到画布元素并播放声音文件 我想在画布上的图像上移动鼠标时再次播放声音。 我知道如何在画布下添加一个按钮,但我不知道如何将鼠标移到图像上 有人能帮我吗???您需要使用javascript创建鼠标悬停事件…查看此示例 function RefreshMouseEvents( ElementId ) { FireEvent( ElementId, 'mouseover' ); setTimeout( "TriggerMouseEvent( '" + ElementId
有人能帮我吗???您需要使用javascript创建鼠标悬停事件…查看此示例
function RefreshMouseEvents( ElementId )
{
FireEvent( ElementId, 'mouseover' );
setTimeout( "TriggerMouseEvent( '" + ElementId + "', '" + event.clientX + "', '" + event.clientY + "' )", 1 );
}
function TriggerMouseEvent( ElementId, MouseXPos, MouseYPos )
{
if( IsMouseOver( ElementId, (1*MouseXPos), (1*MouseYPos) ) )
FireEvent( ElementId, 'mouseover' );
else
FireEvent( ElementId, 'mouseout' );
}
function IsMouseOver( ElementId, MouseXPos, MouseYPos )
{
if( document.getElementById(ElementId) != null )
{
var Element = document.getElementById(ElementId);
var Left = Element.getBoundingClientRect().left,
Top = Element.getBoundingClientRect().top,
Right = Element.getBoundingClientRect().right,
Bottom = Element.getBoundingClientRect().bottom;
return ( (MouseXPos >= Left) && (MouseXPos <= Right) && (MouseYPos >= Top) && (MouseYPos <= Bottom))
}
else
return false;
}
function FireEvent( ElementId, EventName )
{
if( document.getElementById(ElementId) != null )
{
if( document.getElementById( ElementId ).fireEvent )
{
document.getElementById( ElementId ).fireEvent( 'on' + EventName );
}
else
{
var evObj = document.createEvent( 'Events' );
evObj.initEvent( EventName, true, false );
document.getElementById( ElementId ).dispatchEvent( evObj );
}
}
}
函数刷新鼠标事件(ElementId)
{
FireEvent(ElementId,“鼠标悬停”);
setTimeout(“TriggerMouseEvent(“+ElementId+”,“+event.clientX+”,“+event.clientY+”),1);
}
函数TriggerMouseEvent(ElementId、MouseXPos、MouseYPos)
{
if(IsMouseOver(ElementId,(1*MouseXPos),(1*MouseYPos)))
FireEvent(ElementId,“鼠标悬停”);
其他的
FireEvent(ElementId,“mouseout”);
}
函数IsMouseOver(ElementId、MouseXPos、MouseYPos)
{
if(document.getElementById(ElementId)!=null)
{
var Element=document.getElementById(ElementId);
var Left=Element.getBoundingClientRect().Left,
Top=Element.getBoundingClientRect().Top,
右=元素。getBoundingClientRect()。右,
Bottom=Element.getBoundingClientRect().Bottom;
return((MouseXPos>=Left)&&&(MouseXPos=Top)&&&(MouseYPos)谢谢。我对javascript非常陌生,也许你可以解释一下这到底是做什么的?或者你知道一个很好的教程吗?我在答案中提供了一些有用的教程来帮助你入门。