svg webtopo原型6 事件的鼠标属性

这个是测试事件的属性。例如鼠标按钮,点击位置等。

Svg中的时间和页面其他元素是等效的,在IE/ASV中,则需要通过关键字evt,支持的属性有区别

IEopera都支持的属性:

Event.button

Event.x

event.clientX

 

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>
图例
</title>

<!-- legengd.html
 1.测试动态创建事件
 2.测试事件的属性(和ie的事件对比)

-->
</head>
<script type="text/javascript" language="javascript" src="./js/svgutil.js"></script>
<script>

</script>

<body bgcolor="#ffffff">

<br>
<button onclick="show()">开始</button><br>
<button onclick="testevt()">测试鼠标点击</button><br>
<button onclick="showsrc()">源码</button><br>
<div id="debug"></div>
<div id="divsvg">

</div>
</body>
<script>
var svg;
var svgdoc;
var plat;



function show(){

 svg=initSVG(300,300);
 //延迟一下,最小是10ms
 var tidst=window.setTimeout(show1,20);
}


function show1(){

 
 svgdoc=getSVGDocument(svg);
  
 plat=getrootg(svg,svgdoc);


 //创建一个矩形
 curentStyle="stroke:black;fill:green";
 var newRect=createrect(svgdoc,100,100,3,curentStyle);
 newRect.setAttribute("id",'confirmMask');
 
 //更换事件
 var img0=svgdoc.getElementById('confirmMask');
 //外部文件
 img0.setAttribute("onclick","hi()");
 //页面文件
 //img0.setAttribute("onclick","hi3(evt)");
  //页面外部文件
 //img0.setAttribute("onclick","hi4()");
 

 }
  function testevt(){
    //这两个属性是等效的
   //alert(event.x+","+event.y+" "+event.clientX+","+event.clientY);
    var debug=document.getElementById('debug');
   //alert(event.button);
    var str="even.x="+event.x+" event.clientX="+event.clientX+" event.offsetX="+event.offsetX;
    debug.innerHTML=str;
   }
   
  function hi3(evt){
  
   if(isIE){
   //ie。不支持x和y。不支持event
    //alert(evt.getClientX()+","+evt.getClientY()+" "+evt.x+","+evt.y+" "+evt.clientX+","+evt.clientY);
    //alert(event.x+ " "+event.y+" "+event.clientX+","+event.clientY);
    //onclick事件已经释放鼠标,ie和opera都是0
    alert(evt.getButton()+" "+evt.button);
   }
   else{
     //evt和event等效
    //alert(evt.x+","+evt.y+" "+evt.clientX+","+evt.clientY);
    //alert(event.x+ " "+event.y+" "+event.clientX+","+event.clientY);
    alert(evt.button+ " "+event.button);
   }
   
 }
</script>
</html>


 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值