Respostas:
Freqüentemente, em manipuladores de eventos, como onsubmit
retornar false, é uma maneira de dizer ao evento para não realmente disparar. Então, digamos, no onsubmit
caso, isso significaria que o formulário não foi enviado.
event.preventDefault()
para essa funcionalidade. Eu acredito que retornar falso é preterido e nem sempre funciona mais.
return false
método está no método, isso muda alguma coisa?
Suponho que você esteja se referindo ao fato de que muitas vezes precisa colocar um 'retorno falso'; em seus manipuladores de eventos, ou seja,
<a href="#" onclick="doSomeFunction(); return false;">...
O 'retorno falso'; nesse caso, impede que o navegador salte para o local atual, conforme indicado por href = "#" - em vez disso, apenas doSomeFunction () é executado. É útil quando você deseja adicionar eventos às tags de âncora, mas não deseja que o navegador salte para cima e para baixo em cada âncora em cada clique
É usado para parar a propagação do evento . Você vê quando possui dois elementos, ambos com um manipulador de eventos click (por exemplo)
-----------------------------------
| element1 |
| ------------------------- |
| |element2 | |
| ------------------------- |
| |
-----------------------------------
Se você clicar no elemento interno (elemento2), ele disparará um evento de clique nos dois elementos: 1 e 2. É chamado de "Evento com bolhas". Se você quiser manipular o evento apenas no elemento2, o manipulador de eventos precisará retornar false para interromper a propagação do evento.
Outro exemplo será o manipulador de link onclick. Se você deseja interromper o funcionamento de um formulário de link. Você pode adicionar um manipulador onclick e retornar false. Para impedir que o evento seja propagado para o manipulador padrão.
false
de um manipulador de eventos impedirá a ação padrão associada a um evento; você também pode fazer isso via chamada event.preventDefault()
ou configuração event.returnValue = false
(IE); a fim de parar o evento a partir borbulhante, você tem que chamar event.stopPropagation()
ou configuração event.cancelBubble = true
(IE)
Er ... que tal em uma função booleana para indicar 'não é verdade'?
Eu também vim a esta página depois de pesquisar "js, quando usar 'return false;' Entre os outros resultados da pesquisa, havia uma página que achei muito mais útil e direta, no site CSS-Tricks de Chris Coyier: A diferença entre 'return false;' e 'e.preventDefault ();'
A essência do seu artigo é:
function () {return false; }
// É IGUAL A
function (e) {e.preventDefault (); e.stopPropagation (); }
embora eu ainda recomendo a leitura do artigo inteiro.
Atualização: Depois de discutir os méritos do uso de return false; como um substituto para e.preventDefault (); & e.stopPropagation (); um de meus colegas de trabalho apontou que o retorno falso também interrompe a execução do retorno de chamada, conforme descrito neste artigo: Eventos do jQuery: Stop (Mis) usando Return False .
function() { return false; }
É IGUAL A function(e) { e.preventDefault(); e.stopPropagation(); }
, mas em js puro, não é o mesmo, function() { return false; }
É IGUAL DE function(e) { e.preventDefault(); }
fato. Ele não parar de propagação.
Penso que uma pergunta melhor é: por que, em um caso em que você está avaliando um conjunto booleano de valores de retorno, você NÃO usaria verdadeiro / falso ? Quero dizer, você provavelmente poderia ter true / null, true / -1, outras misc. Javascript "falsy" valores para substituir, mas por que você faria isso?
Quando você deseja acionar o código javascript a partir de uma tag de âncora, o manipulador onclick deve ser usado em vez do pseudo-protocolo javascript:. O código javascript executado no manipulador onclick deve retornar true ou false (ou uma expressão que seja avaliada como true ou false) de volta para a própria tag - se retornar true, o HREF da âncora será seguido como um link normal. Se retornar falso, o HREF será ignorado. É por isso que "return false"; é frequentemente incluído no final do código em um manipulador onclick.
Quando uma declaração de retorno é chamada em uma função, a execução dessa função é interrompida. Se especificado, um determinado valor é retornado ao chamador da função. Se a expressão for omitida, undefined será retornado.
Para mais, consulte a página de documentosreturn
do MDN .
return false usando apenas se você tiver alguma função desgastada (por algum teste) ou quiser interromper alguma função, por exemplo, use return false no final "onsubmit"
Além disso, este link curto e interessante para ler em https://www.w3schools.com/jsref/event_preventdefault.asp
Definição e Uso
O método preventDefault () cancela o evento se for cancelável, o que significa que a ação padrão que pertence ao evento não ocorrerá.
Por exemplo, isso pode ser útil quando:
Clicking on a "Submit" button, prevent it from submitting a form
Clicking on a link, prevent the link from following the URL
Nota: nem todos os eventos são canceláveis. Use a propriedade cancelable para descobrir se um evento é cancelável.
Nota: O método preventDefault () não impede a propagação adicional de um evento através do DOM. Use o método stopPropagation () para lidar com isso.