Hi Doug

Thanks anyhow, you got me on the right track.
Implementing your listener with a different condition works perfect, at least in
MSIE 5.5:

ondragstart:function(e){
        if(event.button==2||event.button==3){
                e.cancelDrag();
        }
}

As my fix probably aint browsersafe, Im still looking forward to the bugfix
though.

For now I just need to figure out how to avoid the default browser contextmenu.

Regards
Brian Pedersen

 --- Doug Melvin <[EMAIL PROTECTED]> skrev: > 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" <[EMAIL PROTECTED]>
> To: <[EMAIL PROTECTED]>
> 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
> > [EMAIL PROTECTED]
> > 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
> > [EMAIL PROTECTED]
> > 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
> 
> 
> 
> -------------------------------------------------------
> This sf.net email is sponsored by:ThinkGeek
> Welcome to geek heaven.
> http://thinkgeek.com/sf
> _______________________________________________
> Dynapi-Help mailing list
> [EMAIL PROTECTED]
> https://lists.sourceforge.net/lists/listinfo/dynapi-help 

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
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/dynapi-help

Reply via email to