W3C home > Mailing lists > Public > www-style@w3.org > February 2012

Re: [css3-regions][css3-page] region based page templates

From: Brad Kemper <brad.kemper@gmail.com>
Date: Thu, 23 Feb 2012 08:54:57 -0800
Message-Id: <7A896048-14F3-4C49-B6DA-CE982B16B8CB@gmail.com>
Cc: David Hyatt <hyatt@apple.com>, Sylvain Galineau <sylvaing@microsoft.com>, Vincent Hardy <vhardy@adobe.com>, www-style list <www-style@w3.org>
To: "Tab Atkins Jr." <jackalmage@gmail.com>

On Feb 23, 2012, at 8:44 AM, "Tab Atkins Jr." <jackalmage@gmail.com> wrote:

> On Mon, Feb 20, 2012 at 11:25 AM, Brad Kemper <brad.kemper@gmail.com> wrote:
>> On Feb 20, 2012, at 9:51 AM, David Hyatt <hyatt@apple.com> wrote:
>>> On Feb 17, 2012, at 6:39 PM, Sylvain Galineau wrote:
>>>>>   sylvaing: without dom elements, you can't receive clicks, etc.
>>>>> That seems like a solvable problem that should be solved for all generated pseudo-elements (like ::before and ::after too). Something like >'getElementsByTagName("body")[0].pseudos.slot[0]'.addEventListener(click, myfunction)'.
>>>> That is the general concept, yes. Though such nodes are by definition not in the DOM and using the same plumbing means defining what bubbling
>>>> and other things that assume a parent chain look like. I haven't thought about it much yet but my working assumption is that it could be trickier
>>>> than it looks.
>>> Rather than adding event handlers to the anonymous boxes, I think it would be simpler if you just register event handlers with the nearest enclosing explicit DOM element, and then have a field that allows you to figure out which anonymous box was hit.
>> So... Something like this?
>> getElementsByTagName("body")[0].addEventListener(click, myfunction, pseudos.slot[0])
>> Or maybe I misunderstand you. Legacy browsers would ignore the extra argument, wouldn't they?
> I believe he means a property on the event object exposing which
> pseudo on the event's target was hit.  So if you just wanted to listen
> for clicks on a ::before, you'd write something like:
> el.onclick = function(e) {
> if( e.target.pseudo == "before" ) {
>  ...
> }
> }

Oh, OK. I like that. It is clean, and makes sense.
Received on Thursday, 23 February 2012 16:55:27 UTC

This archive was generated by hypermail 2.3.1 : Monday, 2 May 2016 14:38:56 UTC