recursal/MDN huggingface dataset:
HTMLElement.offsetParent
========================

A propriedade somente de leitura **`HTMLElement.offsetParent`** retorna uma referência ao objeto ao qual está contido(mais próximo na hierarquia do conteúdo) posicionado contendo o elemento. Caso o elemento não esteja posicionado, mais próximo a célula da tabela ou do elemento raiz (nos padrões do modo de conformidade do `html; no modo quirks de redenrização) é o` `offsetParent`. quando o elemento está definido `style.display` para "none", `offsetParent` retorna null. A propriedade `offsetParent` é útil devido a `offsetTop` e `offsetLeft` serem relativos ao seu preenchimento da borda.
```

parentObj = element.offsetParent;
```


* *parentObj* é uma referência de objeto ao elemento no qual o elemento corrente é offset.
Especificações
--------------

| Specification |
| --- |
| CSSOM View Module # dom-htmlelement-offsetparent |

Compatibilidade com navegadores
-------------------------------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.
GlobalEventHandlers.onchange
============================

A propriedade `onchange` determina e retorna o manipulador de eventos para o evento `change (en-US)`.

Syntax
------
```

element.onchange = handlerFunction;
var handlerFunction = element.onchange;
```


`handlerFunction` deve ser ou `null` ou uma função JavaScript especificando o manipulador para o evento.

Notas
-----

Veja a página do manipulador de eventos do DOM (en-US) para informações sobre como trabalhar com manipuladores `on...`

Veja a documentação do evento `change (en-US)` para informações sobre o evento.

Especificações
--------------

| Specification |
| --- |
| HTML Standard # event-change |
| HTML Standard # handler-onchange |

Compatibilidade com navegadores
-------------------------------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.
HTMLElement.offsetLeft
======================

O **`HTMLElement.offsetLeft`** é um método apenas de leitura que retorna a medida, em pixels, da distância do canto superior esquerdo do elemento atual para o nó `HTMLElement.offsetParent`.

Para elementos "block-level", que ocupam todo o espaço do elemento pai, o `offsetTop`, `offsetLeft`, `offsetWidth`, e `offsetHeight` representam a borda de um elemento relativo ao `offsetParent`.

Entretando, para elementos "inline-level" (como o **span**) que podem envolver de uma linha para outra, o `offsetTop` e `offsetLeft` representam a posição da primeira borda (use `Element.getClientRects()` (en-US) para retornar a largura e altura), enquanto `offsetWidth` e `offsetHeight` representam as dimensões do bloco delimitador (use `Element.getBoundingClientRect()` pra retornar sua posição). Portanto, um bloco que possua um left, top, widht ou height do `offsetLeft, offsetTop, offsetWidth` e `offsetHeight` não será um delimitador para um span com texto envolvido.

Sintaxe
-------
```

left = element.offsetLeft;
```


`left` é um número inteiro representando o deslocamento para esquerda, em pixels, do elemento pai mais próximo posicionado com relative.

Exemplo
-------
```

var colorTable = document.getElementById("t1");
var tOLeft = colorTable.offsetLeft;

if (tOLeft > 5) {
  // deslocamento à esquerda maior que 5: faça alguma coisa
}
```


Esse exemplo mostra uma frase 'longa' envolvida por uma div com uma borda azul, e uma caixa vermelha que deveria delimitar o span.

![Image:offsetLeft.jpg](/pt-BR/docs/Web/API/HTMLElement/offsetLeft/offsetleft.jpg)
```

<div style="width: 300px; border-color:blue;
  border-style:solid; border-width:1;">
  <span>Short span. </span>
  <span id="long">Long span that wraps within this div.</span>
</div>

<div id="box" style="position: absolute; border-color: red;
  border-width: 1; border-style: solid; z-index: 10">
</div>

<script>
  var box = document.getElementById("box");
  var long = document.getElementById("long");
  box.style.left = long.offsetLeft + document.body.scrollLeft + "px";
  box.style.top = long.offsetTop + document.body.scrollTop + "px";
  box.style.width = long.offsetWidth + "px";
  box.style.height = long.offsetHeight + "px";
</script>
```

Especificações
--------------

| Specification |
| --- |
| CSSOM View Module # dom-htmlelement-offsetleft |

Compatibilidade com navegadores
-------------------------------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.

Veja também
-----------

* `HTMLElement.offsetParent`, `HTMLElement.offsetTop`, `HTMLElement.offsetWidth`, `HTMLElement.offsetHeight`
HTMLElement.contentEditable
===========================

A propriedade **`HTMLElement.contentEditable`** é usada para indicar se o elemento é editável ou não. Esse atributo enumerado pode ter os seguintes valores:

* `"true"` Indica que o elemento é editável;
* `"false"` Indica que o elemento não pode ser editável;
* `"inherit"` Indica que o elemento herda o status editável de seu pai.

Você pode usar a propriedade `HTMLElement.isContentEditable` (en-US) para testar o valor calculado `Boolean` (en-US) desta propriedade.

Sintaxe
-------
```

editable = element.contentEditable element.contentEditable= "true"
```

Especificações
--------------

| Specification |
| --- |
| HTML Standard # contenteditable |

Compatibilidade com navegadores
-------------------------------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.

Veja também
-----------

* `HTMLElement.isContentEditable` (en-US)
* The contenteditable global attribute.
* Why ContentEditable is Terrible, Or: How the Medium Editor Works
Node.innerText
==============

Resumo
------

**`Node.innerText`** é uma propriedade que representa o conteúdo textual "renderizado" de um nó e seus descendentes. Usada como getter, retorna de maneira aproximada o texto que o usuário obteria caso tivesse selecionado o conteúdo e copiado para a área de transferência. Este recurso fora introduzido originalmente pelo Internet Explorer, mas foi oficialmente especificado no padrão HTML apenas em 2016, sendo adotado por todos os principais navegadores a partir de então.

`Node.textContent` é uma alternativa similar, embora existam diferenças significativas entre as duas.

Especificações
--------------

| Specification |
| --- |
| HTML Standard # the-innertext-idl-attribute |

Compatibilidade com navegadores
-------------------------------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.

Ver também
----------

* `HTMLElement.outerText` (en-US)
* `Element.innerHTML`
HTMLElement.click()
===================

O método **`HTMLElement.click()`** simula o clique do mouse em um elemento.

Quando clique é usado com elementos que o suportam (por exemplo, um dos `<input>` tipos listados acima), ele também dispara evento de clique do elemento que vai propagar pelos elementos mais acima na árvore de documentos (ou cadeia do evento) e disparando seus eventos de clique também. No entanto, o evento de clique, propagado como bubble, não vai iniciar a navegação do elemento `<a>` como se uma verdadeiro clique do mouse tivesse sido recebido.

Sintaxe
-------
```

elt.click()
```

Especificações
--------------

| Specification |
| --- |
| HTML Standard # dom-click-dev |

Compatibilidade com navegadores
-------------------------------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.
HTMLElement.offsetTop
=====================

O **`HTMLElement.offsetTop`** é um método apenas de leitura que retorna a medida, em pixels, da distância do elemento atual em relação ao topo do `offsetParent`.

Sintaxe
-------
```

topPos = element.offsetTop;
```

### Parâmetros

* `topPos` é o número, em pixels, que representa a distância do elemento para o topo do elemento pai mais próximo posicionado com relative.
Exemplo
-------


```js
var d = document.getElementById("div1");
var topPos = d.offsetTop;

if (topPos > 10) {
  // deslocamento em relação ao topo maior
  // que 10pixels do topo
}
```

Especificações
--------------

| Specification |
| --- |
| CSSOM View Module # dom-htmlelement-offsettop |

Compatibilidade com navegadores
-------------------------------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.
HTMLElement.offsetWidth
=======================

`A propriedade HTMLElement.offsetWidth` é de somente leitura e retorna a largura de um elemento no layout. Normalmente, o `offsetWidth` é uma medida que inclui as bordas do elemento, seu padding horizontal e o vertical scrollbar (se presente e renderizado) e também a largura CSS do elemento.

Sintaxe
```

var offsetWidth =element.offsetWidth;
```


`offsetWidth` é uma propriedade somente leitura.

**Nota:** Esta propriedade irá arredondar o valor para um inteiro. se você precisa um valor fracionado, use `element.getBoundingClientRect()`.

Exemplo
-------

![Image:Dimensions-offset.png](/pt-BR/docs/Web/API/HTMLElement/offsetWidth/dimensions-offset.png)

Especificações
--------------

| Specification |
| --- |
| CSSOM View Module # dom-htmlelement-offsetwidth |

Compatibilidade com navegadores
-------------------------------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.

Veja também
-----------

* `Element.clientWidth` (en-US)
* `Element.scrollWidth`
* Determinando as dimensões dos elementos (en-US)
MessagePort.postMessage()
=========================

O método **`postMessage()`** da interface `MessagePort` (en-US) envia uma mensagem da porta e opcionalmente transfere a propriedade do objeto para outros contexto de navegação.

**Note:** This feature is available in Web Workers

Syntax
------
```

port.postMessage(message, transferList);
```

### Returns

Vazio.

### Parameters

message

A mensagem que você quer enviar atravéz do canal. Esta mensagem pode ser de qualquer tipo de dados basico. Multiplos items podem ser enviados com diferentestes tipos de dados como em um Array.

transferList Optional

`Transferable` objects to be transferred — these objects have their ownership transferred to the receiving browsing context, so are no longer usable by the sending browsing context.

Example
-------

In the following code block, you can see a new channel being created using the `MessageChannel.MessageChannel` constructor. When the IFrame has loaded, we pass `MessageChannel.port2` (en-US) to the IFrame using `window.postMessage` (en-US) along with a message. The `handleMessage` handler then responds to a message being sent back from the IFrame using `onmessage`, putting it into a paragraph — `MessageChannel.port1` (en-US) is listened to, to check when the message arrives.


```js
var channel = new MessageChannel();
var para = document.querySelector("p");

var ifr = document.querySelector("iframe");
var otherWindow = ifr.contentWindow;

ifr.addEventListener("load", iframeLoaded, false);

function iframeLoaded() {
  otherWindow.postMessage("Hello from the main page!", "\*", [channel.port2]);
}

channel.port1.onmessage = handleMessage;
function handleMessage(e) {
  para.innerHTML = e.data;
}
```


For a full working example, see our channel messaging basic demo on Github (run it live too).

Especificações
--------------

| Specification |
| --- |
| HTML Standard # dom-messageport-postmessage-dev |

Compatibilidade com navegadores
-------------------------------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.

See also
--------

* Using channel messaging (en-US)
AudioContext.currentTime
========================

The `currentTime` read-only property of the `AudioContext` interface returns a double representing an ever-increasing hardware timestamp in seconds that can be used for scheduling audio playback, visualizing timelines, etc. It starts at 0.

Syntax
------


```js
var audioCtx = new AudioContext();
console.log(audioCtx.currentTime);
```

Exemplo
-------


```js
var AudioContext = window.AudioContext || window.webkitAudioContext;
var audioCtx = new AudioContext();
// Older webkit/blink browsers require a prefix

...

console.log(audioCtx.currentTime);
```

Especificações
--------------

| Specification |
| --- |
| Web Audio API # dom-baseaudiocontext-currenttime |

Compatibilidade com navegadores
-------------------------------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.

Veja também
-----------

* Usando a API Web Audio API (en-US)
XMLHttpRequest.readyState
=========================

A propriedade **XMLHttpRequest.readyState** retorna o estado de um XMLHttpRequest. Uma requisição XHR que existe em um dos seguintes estados:

| Valor | Estado | Descrição |
| --- | --- | --- |
| `0` | `UNSENT` | Um cliente foi criado. Mas o método `open()` não foi chamado ainda. |
| `1` | `OPENED` | `O método open() foi chamado`. |
| `2` | `HEADERS_RECEIVED` | `o método send()` foi chamado e os cabeçalhos e status estão disponíveis . |
| `3` | `LOADING` | Baixando e `responseText` contem os dados parciais. |
| `4` | `DONE` | Operação concluída. |

UNSENT

O XMLHttpRequest foi criado. Mas o método open() não foi chamado ainda.

OPENED

O método open() foi invocado. Durante esse estado, os headers da requisição podem ser inseridos usando o método setRequestHeader() e o método send() pode ser chamado, iniciando a busca.

HEADERS\_RECEIVED

O método send() foi chamado e os cabeçalhos de respostas foram recebidos.

LOADING

A resposta da requisição está sendo recebida. se o `responseType` (en-US) for "text" ou um texto em branco, o `responseText` (en-US) terá o texto parcial da resposta conforme seu carregamento.

DONE

A Operação de busca está completa. Isso pode significar que a trasferência foi concluída com êxito ou que falhou.


**Nota:** Os nomes de estado são diferentes no Internet Explorer. Ao invés de `UNSENT`, `OPENED`, `HEADERS_RECEIVED`, `LOADING` e `DONE`, os nomes usados são: `READYSTATE_UNINITIALIZED`(0), `READYSTATE_LOADING`(1), `READYSTATE_LOADED`(2), `READYSTATE_INTERACTIVE`(3) e `READYSTATE_COMPLETE` (4).

Exemplo
-------


```js
var xhr = new XMLHttpRequest();
console.log("UNSENT", xhr.readyState); // readyState will be 0

xhr.open("GET", "/api", true);
console.log("OPENED", xhr.readyState); // readyState will be 1

xhr.onprogress = function () {
  console.log("LOADING", xhr.readyState); // readyState will be 3
};

xhr.onload = function () {
  console.log("DONE", xhr.readyState); // readyState will be 4
};

xhr.send(null);
```

Especificações
--------------

| Specification |
| --- |
| XMLHttpRequest Standard # states |

Compatibilidade com navegadores
-------------------------------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.
XMLHttpRequest.open()
=====================

O `XMLHttpRequest` método\*\*`open()`\*\* inicializa uma nova requisição, ou reinicializa uma requisição já existente.

**Nota:** Chamar este método para uma requisição já ativada (uma que `open()` já tenha sido chamada) é equivalente a chamar `abort()`.

Sintaxe
-------
```

XMLHttpRequest.open(method, url)
XMLHttpRequest.open(method, url, async)
XMLHttpRequest.open(method, url, async, user)
XMLHttpRequest.open(method, url, async, user, password)
```

### Parâmetros

`method`

O método de requisição HTTP para ser usado, como `"GET"`, `"POST"`, `"PUT"`, `"DELETE"`, etc. Ignorado para URLs não-HTTP(S).

`url`

Um `DOMString` representando a URL para enviar a requisição.

`async` Optional

Parâmetro booleano opcional, valor padrão `true`, indica quando realizar a operação de forma assíncrona. Se este valor for `false`, o método `send()` não retorna nada até que a resposta da requisição seja recebida. Se o valor for `true`, notificação de uma transação concluída é provida usando event listeners. Isso *deve* ser verdadeiro se o atributo `multipart` é `true`, ou uma exceção será lançada.

**Nota:** Requisições Síncronas no thread principal podem ser facilmente disruptivas para a experiência de usuário e devem ser evitadas; de fato, muitos navegadores descontinuaram inteiramente o suporte para XHR síncrono no thread principal. Requisições síncronas são permitidas nos `Worker`s.

`user` Optional

O nome de usuário opcional para ser usado em autenticação; por padrão, isso é o valor `null`.

`password` Optional

A senha de usuário opcional para ser usado em autenticação; por padrão, isso é o valor `null`.

Especificações
--------------

| Specification |
| --- |
| XMLHttpRequest Standard # the-open()-method |

Compatibilidade com navegadores
-------------------------------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.

Veja também
-----------

* Usando XMLHttpRequest
* Métodos Relacionados ao `XMLHttpRequest`: `setRequestHeader()`,`send()`, e `abort()`
XMLHttpRequest.send()
=====================

O método **`send()`**, do `XMLHttpRequest`, envia uma requisição para o servidor.Se a solicitação for assíncrona (que é o padrão), esse método retornará assim que a solicitação for enviada e o resultado for entregue usando eventos. Se a solicitação for síncrona, esse método não retornará até que a resposta chegue.

`send()` aceita um parâmetro opcional que permite especificar o corpo da solicitação; isso é usado principalmente para solicitações como `PUT`. Se o método de solicitação for `GET` ou `HEAD`, o parâmetro `body` será ignorado e o corpo da solicitação será definido como `null`.

Se nenhum cabeçalho `Accept` tiver sido definido usando `setRequestHeader()`, um cabeçalho `Accept` com o tipo `"*/*"` (qualquer tipo) é enviado.

Sintaxe
-------
```

XMLHttpRequest.send(body)
```

### Parâmetros

`body` Optional

Um corpo de dados a ser enviado na solicitação XHR. Isso pode ser:

* Um `Document`, caso em que é serializado antes de ser enviado.
* Um `BodyInit`, que conforme a espeficicação Fetch, pode ser um objeto `Blob`, `BufferSource`, `FormData`, `URLSearchParams`, `ReadableStream` (en-US) ou `USVString` (en-US).

Se nenhum valor for espeficicado para o corpo, o valor padrão de `null` é usado.

A melhor maneira de enviar conteúdo binário (por exemplo, em uploads de arquivos) é usando um `ArrayBufferView` (en-US) ou `Blob` em conjunto com o método `send()`.

### Valor retornado

`undefined.`

### Exceções

| Exceção | Descrição |
| --- | --- |
| `InvalidStateError` | `send()` já foi invocado para a requisição, e/ou a requisição está completa. |
| `NetworkError` | O tipo de recurso a ser buscada é um `Blob` e o método não é `GET`. |

Exemplo: GET
------------
```

var xhr = new XMLHttpRequest();
xhr.open('GET', '/server', true);

xhr.onload = function () {
  // Requisição finalizada. Faça o processamento aqui.
};

xhr.send(null);
// xhr.send('string');
// xhr.send(new Blob());
// xhr.send(new Int8Array());
// xhr.send(document);
```

Exemplo: POST
-------------
```

var xhr = new XMLHttpRequest();
xhr.open("POST", '/server', true);

// Envia a informação do cabeçalho junto com a requisição.
xhr.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");

xhr.onreadystatechange = function() { // Chama a função quando o estado mudar.
    if (this.readyState === XMLHttpRequest.DONE && this.status === 200) {
        // Requisição finalizada. Faça o processamento aqui.
    }
}
xhr.send("foo=bar&lorem=ipsum");
// xhr.send(new Int8Array());
// xhr.send(document);
```

Especificações
--------------

| Specification |
| --- |
| XMLHttpRequest Standard # the-send()-method |

Compatibilidade com navegadores
-------------------------------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.

Veja também
-----------

* Usando XMLHttpRequest
* Obter arquivo HTML usando XMLHttpRequest (en-US)
XMLHttpRequest.abort()
======================

O método **XMLHttpRequest.abort()** aborta a requisição se ela já tiver sido enviada. Quando uma requisição é abortada, o seu readyState é modificado para 0 (Desativado), mas o evento readystatechange não é disparado.

Sitaxe
------
```

xhrInstance.abort();
```

### Parâmetros

Nenhum.

### Retorno

Nenhum.

Exemplo
-------


```js
var xhr = new XMLHttpRequest(),
  method = "GET",
  url = "https://developer.mozilla.org/";
xhr.open(method, url, true);

xhr.send();

xhr.abort();
```

Especificações
--------------

| Specification |
| --- |
| XMLHttpRequest Standard # the-abort()-method |

Compatibilidade com navegadores
-------------------------------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.

Veja também
-----------

* Usando o XMLHttpRequest
XMLHttpRequest.onreadystatechange
=================================

Um `EventHandler` (en-US) é chamado sempre que o atributo `readyState` é modificado. O callback é chamado a partir da interface do usuário. A propriedade **`XMLHttpRequest.onreadystatechange`** contém o manipulador de eventos que é chamado quando o evento readystatechange é disparado, ou seja, toda vez que a propriedade `readyState` do `XMLHttpRequest` é modificada.

**Aviso:** **Atenção:** Isso não deve ser usado com solicitações síncronas e não deve ser usado como código nativo.

O evento `readystatechange` não será chamado quando a `XMLHttpRequest` request for cancelada pelo método abort().

**Nota:** **Atualização**: Está disparando na última versão de navegadores (Firefox 51.0.1, Opera 43.0.2442.991, Safari 10.0.3 (12602.4.8), Chrome 54.0.2840.71, Edge, IE11). Exemplo aqui - *basta recarregar a página algumas vezes*.

Sitaxe
------
```

XMLHttpRequest.onreadystatechange = callback;
```

### Valores

* `callback` é a função que será executada quando o readyState mudar.
Exemplo
-------


```js
var xhr = new XMLHttpRequest(),
  method = "GET",
  url = "https://developer.mozilla.org/";

xhr.open(method, url, true);
xhr.onreadystatechange = function () {
  if (xhr.readyState === XMLHttpRequest.DONE && xhr.status === 200) {
    console.log(xhr.responseText);
  }
};
xhr.send();
```

Especificações
--------------

| Specification |
| --- |
| XMLHttpRequest Standard # event-xhr-readystatechange |
| XMLHttpRequest Standard # handler-xhr-onreadystatechange |

Compatibilidade com navegadores
-------------------------------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.
XMLHttpRequest.timeout
======================

A propriedade **`XMLHttpRequest.timeout`** é um `unsigned long` que representa o número de milisegundos que uma requisição deve esperar até ser automaticamente terminada. O valor padrão para essa propriedade é 0, o que significa que o navegador deverá esperar uma resposta indefinidamente. A propriedade Timeout não deveria ser usada para requisições XMLHttpRequests síncronas em um document environment (en-US) ou uma exceção do tipo `InvalidAccessError` será lançada. Quando um timeout ocorre, o evento timeout (en-US) é disparado.

**Nota:** Você não pode usar um timeout para requisições síncronas dentro de uma janela.

Utilizando um timeout com uma requisição assíncrona

No Internet Explorer, a propriedade timeout pode ser usada apenas depois de o método open() ter sido invocado e antes de se chamar o método send().

Exemplo
-------


```js
var xhr = new XMLHttpRequest();
xhr.open("GET", "/server", true);

xhr.timeout = 2000; // tempo em milisegundos

xhr.onload = function () {
  // Requisição finalizada. O processamento deve ser colocado aqui.
};

xhr.ontimeout = function (e) {
  // Timeout na chamada XMLHttpRequest. Ação de timeout aqui.
};

xhr.send(null);
```

Especificações
--------------

| Specification |
| --- |
| XMLHttpRequest Standard # the-timeout-attribute |

Compatibilidade com navegadores
-------------------------------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.