From: Doug M. <do...@cr...> - 2003-09-30 17:23:48
|
the following _should_ work but does not under IE 6. lyr.addEventListener({ ondragstart:function(e){ status=e.getButton(); if(e.getButton() == "right"){ e.cancelDrag(); } } }); when in the ondragstart event, in the mouse_ie.js:MouseEvent.getButton() returns left always. Through debugging I noteied the the error condition on line: 26 "if (!this._mouseEvent) return "ouch";" (I added the "ouch") always returns "ouch" Works normally inside of a onclick event. (returns left, middle or right) Same deal in NS 4x, works correctly in onclick event, but executes error code in ondragstart event at: line 26 in mouse_ns4.js:getButton() "if (!this._browserEvent) return "ouch";" (i added the ouch) Mozilla 1.x: Same deal again.. It seems obvious to me that this is a bug in the common base of the dragevents scheme.. I am at work right now, and have no intoernet at home. Someone else will have to fix this if we want it fixed in the near future. ----- Original Message ----- From: "Brian Hayes" <bg...@ke...> To: <dyn...@li...> Sent: Tuesday, September 30, 2003 5:49 AM Subject: RE: [Dynapi-Help] Rightclick events > Here is what I did, but there may be a better way.. > > onclick : function(e) { > if(e.getButton() == 'left'){ //Netscape fix, > onclick to make sure only the left button > //Do Something.. > } > }, > > Brian Hayes > > Hi > > First let me say that I am crazy about the eventmodel in the dynapi, > attaching > eventlisteners to a DynLayer instead of making global eventlistener makes > everything so much easyer. > > I do have one problem, though: > I have a DHTML applikation resempling a windows desktop with movable icons. > Rigthclicking these icons should bring up a contextmenu. > > My problem is that rightclicking the icon makes it dragable, which is not my > intention, only when leftclicking should it become dragable. > > I would also like to ensure that the default browser contextmenu never > appears, > this is usually done in a traditional eventlistener by returning false: > > document.onmousedown=function(){ eventListener(event);return false; } > function eventListener(e){ > if(event.button==2||event.button==3) { > alert('Contextmenu activated'); > } > return false; > } > > How can I ensure that the layer only becomes dragable when leftclicking and > how > can I disable the default browser contextmenu ? > > This is my code: > <html> > <head> > <title>Simple test</title> > <script language="JavaScript" src="js/dynapi/dynapi.js"></script> > <script language="Javascript"> > dynapi.library.setPath('js/dynapi/'); > dynapi.library.include('dynapi.api'); > dynapi.library.include('dynapi.api.ext.DragEvent'); > dynapi.library.include('dynapi.fx.MotionX'); > dynapi.library.include('FocusManager'); > dynapi.library.include('BorderManager'); > </script> > <script language="Javascript"> > > var icon1=new DynLayer(null,25,25,32,32,null,'images/icon1.gif'); > > icon1.setID("icon1"); > icon1.makeSolid(); > icon1.setFocus('auto',true,'hover'); > DragEvent.enableDragEvents(icon1); > > icon1.addEventListener({ > onmousedown:function(e){ > var o=e.getSource(); > if(event.button==2||event.button==3){ > alert('Contextmenu activated'); > } > }, > onmouseover:function(e){ > var o=e.getSource(); > o.setInnerBorder(1); > }, > onmouseout:function(e){ > var o=e.getSource(); > o.setInnerBorder(0); > } > }); > > dynapi.document.addChild(icon1); > </script> > </head> > <body> > <script> > dynapi.document.insertAllChildren(); > </script> > </body> > </html> > > Regards > Brian Pedersen > > Yahoo! Mail (http://dk.mail.yahoo.com) - Gratis: 6 MB lagerplads, spamfilter > og virusscan > > > ------------------------------------------------------- > This sf.net email is sponsored by:ThinkGeek > Welcome to geek heaven. > http://thinkgeek.com/sf > _______________________________________________ > Dynapi-Help mailing list > Dyn...@li... > https://lists.sourceforge.net/lists/listinfo/dynapi-help > > > > > ------------------------------------------------------- > This sf.net email is sponsored by:ThinkGeek > Welcome to geek heaven. > http://thinkgeek.com/sf > _______________________________________________ > Dynapi-Help mailing list > Dyn...@li... > https://lists.sourceforge.net/lists/listinfo/dynapi-help > --- Outgoing mail is certified Virus Free. Checked by AVG anti-virus system (http://www.grisoft.com). Version: 6.0.522 / Virus Database: 320 - Release Date: 9/29/03 |