I have been working with someone on the IE team from Microsoft for the last 2 days on this issue. They are saying that a ctrl-click in IE7 does not even fire the onclick event at all. It appears that they are correct. This is why none of the code cancels the event, it's not even technically being fired.

Does this make sense to anyone here? I setup a sample page to demonstrate the problem: http://orionweb.net/joelstuff/click.html

If you look at source, you will see i have a simple alert call in the cancel function. It never gets called when doing a control-click in IE7. Before I go back to Microsoft, I wanted to get some input from the list.

Also, he asked the following question: Are you looking for a scripting solution/workaround to this only?  Are you open to using C++ code with writing some kind of COM plugin?

I haven't answered yet, but my initial thought is that we want a pure script solution, not some plugin hack. Thoughts?

Finally, is there any documentation you are aware of that I could show the IE team stating it is bad practice to take low-level ownership of a user-initiated click event? It seems like common sense to me, but I'd love something official making a more solid point.

Thanks in advance. I will wait to hear back, and then I'll continue working with MS tomorrow.

Joel Clermont
joel@orionweb.net
262-377-9930




On Sep 17, 2007, at 12:54 PM, till wrote:

Sounds "right" to me. Thanks for taking the time to summarize this.

On 9/17/07, Joel Clermont <joel@orionweb.net> wrote:
Since I am new to RoundCube and this list, I thought it might be beneficial
for me to summarize my understanding of this issue before I contact
Microsoft and research a solution. Please read over my summary and feel free
to edit it or add to it as needed.

Round Cube uses common desktop conventions for multiple message selection:
control-click or shift-click. Round Cube also makes the subject text a link
for accessibility reasons. When the subject text is control-clicked or
shift-clicked, Round Cube acknowledges this as a multi-select activity and
cancels the click event on the subject text link after marking the message
as selected. However, in IE7, control-click is an existing reserved event
for "open this link in a new tab". Using all the techniques for canceling a
click event do not work for a control-click in IE7. The message selection
event works, but you also have a needless new tab spawned in the background.

As it stands now, the workarounds for IE7 are to control-click in an area
other than the subject text, or to simply close the extra tabs when you are
done.

The goal is to find a way to successfully cancel the click event in IE7 when
control-click is used.


Does that sound about right?


Joel Clermont
joel@orionweb.net
262-377-9930





On Sep 17, 2007, at 5:20 AM, Thomas Bruederli wrote:

till wrote:

I am guessing preventDefault (if that is what it's called - I don't
recall right now) does not work in IE?

Have fun with trying this out. I already spent hours to find a way but
without success:
http://trac.roundcube.net/trac.cgi/ticket/1484399

The event is passed to rcube_event.canel() which does
- preventDefault()
- stopPropagation()
- cancelBubble = true
- returnValue = fals

But this all does not prevent IE 7 from executing the default event action.

~Thomas