[whatwg] Disabled attribute for iframes
Greg Houston
gregory.houston at gmail.com
Thu Aug 14 18:22:44 PDT 2008
On Thu, Aug 14, 2008 at 7:50 PM, João Eiras <joao.eiras at gmail.com> wrote:
> Hi !
>
>> 1. You have a fluid layout where the columns are resizable via
>> javascript by dragging the borders. The content of one of the columns
>> is an iframe. You begin dragging the border between it and the column
>> to the left, but as soon as the cursor goes over the iframe, the
>> dragging functionality stops because you have now entered the context
>> of the iframe. Thus it becomes impossible or at the very least very
>> difficult to resize the column containing it.
>>
>
>
> Well, if you need a workaround you can overlay an almost invisible element
> over your iframe, like
>
> function disableIframe(iframe){
> if( iframe.__cover ){
> var d = document.createElement('iframedisabler');
> d.style.margin=0;
> d.style.border=0;
> d.style.position='absolute';
> d.style.backgroundColor='white';
> d.style.opacity = '0.01';
> d.style.MozOpacity = '0.01';
> d.style.WebkitOpacity = '0.01';
> d.style.filter = 'alpha(opacity=1)';
>
> iframe.__cover = d;
> }
> function get_xy(e){
> var o = {x:0,y:0};
> while( e ){
> o.x += e.offsetLeft;
> o.y += e.offsetTop;
> e = e.offsetParent;
> }
> return o;
> }
> var xy = get_xy(iframe);
> d.style.height=iframe.offsetHeight+'px';
> d.style.width=iframe.offsetWidth+'px';
> d.style.top=xy.y+'px';
> d.style.left=xy.x+'px';
>
> document.body.appendChild(d);
> };
> function enableIframe(iframe){
> if( iframe.__cover ){
> document.body.removeChild(iframe.__cover);
> }
> };
>
Yes, I had I mentioned that workaround in the original post. Ian had
mentioned that disabling an iframe might be a hassle for authors (
paraphrased by me) but compare the following with the current
workaround above:
myIframe.setAttribute("disabled", "disabled");
On Thu, Aug 14, 2008 at 7:56 PM, Neil Deakin <enndeakin at gmail.com> wrote:
> Is this related to the html5 drag and drop spec? It isn't clear from your
> earlier comment and this one. In the spec, mouse events don't fire at all
> during a drag. Implementations would fire dragover events in the parent or
> child frames as needed.
>
> Dragging columns widths probably wouldn't be done using the html5 d&d, but
> instead would need a mouse capturing api as previously described.
Neil, thanks for the clarification. So this may only apply to dragging
columns and resizing elements and not the HTML5 drag and drop.
- Greg
More information about the whatwg
mailing list