Scrolling problem on Safari
Charles McNulty
charles at charlesmcnulty.com
Thu Feb 16 15:48:14 CET 2006
Hi, I wrote the offending code, and I apologize for your troubles. I
just didn't have a Mac to test on. I'll try to help debug it in anyway
I can though.
Here's what's supposed to be happening with those three functions,
reset_click, click_on_list, and use_arrow_keys. Surrounding the message
list is a <div> named mailcontframe. It's this div tag that contains
the scroll bar. What I sought to accomplish is to enable the arrow key
functionality only when the last click was inside that div tag.
It does this by setting the in_message_list flag to true or false
depending on whether the document was clicked or the mailcontframe was
clicked. If the mailcontframe was clicked, it would normally fire both
events because the mailcontframe is part of the document. Because of
this, when the mailcontframeis clicked, it cancel all other pending
events. This *might* be related to your problem.
Here are some tests for you to run to help me diagnose the problem.
1) resize the browser window until you have a vertical browser scroll
bar. Click on anywhere other than the message list and then try to use
your arrows to page through the window. The window should scroll.
2) Do the same thing, but this time click on the message list and use
the arrow keys. The selected message should change and the window
should *not* scroll.
Alternately, you could put some javascript alert() calls in those
functions to make sure that they're firing when they should be. To sum up:
When you click on the scroll bar or on any message, click_on_list()
should fire.
When you click elsewhere, reset_click should fire.
These are the first two things I need confirmed.
-Charles
Jacob Brunson wrote:
> I recently found this problem with Safari (versions 1.3.2, but also with newer
> tiger versions). The problem is that clicking on the message list scroll bar
> to scroll up and down through the list doesn't work. The scroll bar doesn't
> go anywhere. However, if you press the ctrl key down while clicking on the
> scroll bar, it works fine.
>
> There is a similar problem with the Apple key. After selecting anything on
> the message list, using the apple modifier key doesn't work. This is a
> problem because Apple-N opens new windows, Apple-W closes the current window.
>
> Now macs only usually have one mouse button. Ctrl-click serves as a right
> click. However, I connected a two button mouse and right clicking on the
> scroll bar doesn't cause it to move, just a ctrl-click.
>
> I've tracked the problem down to a particular change. It is in
> program/js/app.js between cvs revisions 1.28 and 1.29 (for that file).
> http://cvs.sourceforge.net/viewcvs.py/roundcubemail/roundcubemail/program/js/app.js?r1=text&tr1=1.28&r2=text&tr2=1.29&diff_format=h
>
> I applied the differences between these two revisions one by one, and I found
> the difference that caused scrolling to break. The diff that causes it to
> break is the one that begins on line Line 246/249. (Lines 255 through 307 in
> current cvs head)
>
> It is a large chunk of code, and I'm not sure exactly what is causing the
> problem, I thought I would ask here and see if anyone had any ideas. I would
> be glad to work with to get this resolved. I know few people have macs, so I
> would be glad to apply patches and report results.
>
> --Jacob Brunson
>
>
More information about the Dev
mailing list