RE: [clipboard events] click-to-copy support could be hasFeature discoverable?

> <!DOCTYPE html>
> <a href="http://example.org/">wut</a>
> <script>document.querySelector("a").dispatchEvent(new
> Event("click"))</script>
> 
> Does not cause a navigate action. This does:
> 
> <script>document.querySelector("a").click()</script>
> 

This is related to what I've been thinking for CommandEvent [1] [2], in that we need a really clear way to both invoke actions (execCommand) and overwrite their meaning (ClipbboardEvent, CommandEvent).


> 
> > Calling document.execCommand('copy') will by itself dispatch a "copy"
> event.
> 
> Yes. It initiates a copy action. As part of that action an event is dispatched to
> inform listeners and allow them to interfere with the action flow. But
> confusing the two is very wrong. An end-user moving the mouse is an action,
> the mousemove event is just a result of that action and does not actually
> cause the mouse to move.
> 
> 
> > I wonder how fancy we can get with execCommand()'s value argument?
> Could we go for something like this instead of the scripted event payload?
> >
> > document.execCommand('copy', false, {'text/plain':'Hello',
> 'text/html':'<p><b>Hello</b></p>'});?
> 
> Maybe, or we could propose a new API.
> 

I've been thinking about this too. I like the idea here. Another one would be to have a Command object, like this:

document.execCommand({'commandName':'copy', 'text/plain':'Hello', 'text/html':'<p><b>Hello</b></p>'});

Which means we could get rid of the nearly-meaningless second argument to execCommand without needing to introduce a new function.

I'm in the process of writing a doc on all this (simple version on the wiki [1]), and I would love input.

Ben

[1] https://github.com/w3c/editing-explainer/wiki/CommandEvent

[2] http://lists.w3.org/Archives/Public/public-webapps/2014AprJun/0298.html 

Received on Tuesday, 20 May 2014 17:54:02 UTC