2009-02-19 10 views

Répondre

6

Vous pouvez déclarer une fonction nommée comme ceci:

function always_false() { return false; } 

puis utilisez always_false() où vous auriez précédemment créé l'anonyme fonction.

+0

Je pense l'appeler quelque chose de plus court comme ff() (mauvais nom que je connais) et de sorte qu'il est encore plus court, mais cela ressemble à la bonne idée. – UnkwnTech

+0

Quoi, cela ne fonctionnera pas, -1, s'il vous plaît expliquer. –

+0

Oh, "always_false" serait le véritable écouteur? –

0

Vous pouvez annuler une action par défaut de l'événement en utilisant la méthode preventDefault:

$("form").bind("submit", function(event){ 
    event.preventDefault(); 
}); 
0

Pensez-vous vraiment que c'est trop taper?

Pourquoi ne pas avoir une variable globale appelée f ensemble à false et utiliser function() {return f;}

+0

function f() {return false; } –

+0

On dirait une fausse économie: -7 –

+0

@Ates - m'a eu là :) – zildjohn01

2

J'ai souvent un "no op" function défini au sommet de mon dossier js commun:

function nop() { return false } 

Je l'utilise chaque fois que je besoin d'un gestionnaire « ne rien faire » ou « annuler l'événement » (par exemple div.oncontextmenu = nop). Dans IE, cela présente l'avantage supplémentaire que la mémoire ne fuit pas lors de la création à la volée de fonctions [anonymes] similaires et de leur affectation à des gestionnaires d'événements. Au moins, c'est ce que me dit IE Drip.

+0

return false; ne pas "annuler l'événement" s. –

+0

@Luca: essayez-le un peu de temps. –

0

Définissez simplement le gestionnaire d'événements sur null. Ceci est plus propre que d'assigner à une fonction "return false" IMO car elle supprime complètement le gestionnaire d'événements.

myButton.onclick = null;

1

Le raccourci (ECMAScript 2015):

_ => false 

Ou, appuyez simplement sur 5 touches:

_=>!1 

Mais je préfère vous recommandons d'utiliser le ci-dessous pour les non-jQuery Event gestionnaires.

event => event.preventDefault() 
Questions connexes