- From: Andrew Fedoniouk <news@terrainformatica.com>
- Date: Fri, 05 May 2006 23:42:56 -0700
- To: Jordan OSETE <jordan.osete@laposte.net>, www-style@w3.org
----- Original Message -----
From: "Jordan OSETE" <jordan.osete@laposte.net>
>
> Hello everyone,
>
> I was wondering what was going on about the "Behavioral extensions to
> CSS" working draft [1]. It hasn't been updated since 1999, but it seems
> very interresting extensions to me.
>
> Specifically, in the first part, the "Event Properties", and "Script
> blocks" paragraphs seem to me quite stable, and maybe not too hard to
> implement by user agents (since they only use existing technologies: CSS
> parser, script interpreter, and events). It would also help
> webdeveloppers a lot.
>
> Why hasn't this WD been updated since then? Is no one in the W3C
> interested in it, or is it because of technical difficulties at the time?
>
> The "Open issues" part at the end of the document says that:
> 1. it depends on the DOM Level 2, wich was a WD at the time, but is
> now a Recommendation, so this point is now useless, and that
> 2. the order of event handler invocation needs to be specified (in
> wich order the DOM events, events specified in HTML attributes and
> events specified in CSS will be called). I don't know if it is that
> important to specify a specific order now. Maybe it could be left to the
> UA, or if the developper really needs a specific order (wich will
> probably be very rare), he would tell it in the CSS. I see 2 easy ways
> to do this:
> a) on a per-event basis, after the quoted script, like this:
> onclick: "myEventListener(this)" order(attrEvents, CSSEvents,
> DOMEvents);
> b) Or on an element basis:
> div {
> onclick: "handleClick(this)";
> onmouseover: "handleMouseOver(this)";
> eventsorder: attrEvents, CSSEvents, DOMEvents;
> }
>
> Hope it helps.
>
> Jordan Osete
>
As a rule such event handlers constitute closed system of
functions - a.k.a. as class.
And
div {
onclick: "handleClick(this)";
....
}
allows you override methods independently which is wrong.
Better approach is to use
div {
background: white;
prototype: MyBehavior;
....
}
and in script to define:
var MyBehavior =
{
onClick: function() {...}
onMouseHover: function() {...}
}
I think that it makes sense to take a look on
Ben Nolan's work: http://bennolan.com/behaviour/
- same approach is used.
Andrew Fedoniouk.
http://terrainformatica.com
Received on Saturday, 6 May 2006 06:42:57 UTC