Pour les cas simples, je pense que vous pourriez faire quelque chose comme ceci:
Exemple :http://jsfiddle.net/uEEzt/2/
$.fn.bindUp = function(type, fn) {
this.each(function() {
$(this).bind(type, fn);
var evt = $.data(this, 'events')[type];
evt.splice(0, 0, evt.pop());
});
};
Lorsque vous utilisez ce plugin .bindUp()
, il juste un .bind()
normal, mais enlève alors l'événement de la fin, et le place au début.
Encore une fois, ce serait pour les cas simples seulement.
EDIT: Il doit être simple de faire ce travail avec de multiples événements, mais ne pas essayer de l'utiliser avec hover
.
EDIT: est ici une version qui fonctionne avec de multiples événements (espace séparé) (encore une fois, ne pas utiliser avec hover
):
Exemple:http://jsfiddle.net/uEEzt/4/
$.fn.bindUp = function(type, fn) {
type = type.split(/\s+/);
this.each(function() {
var len = type.length;
while(len--) {
$(this).bind(type[len], fn);
var evt = $.data(this, 'events')[type[len]];
evt.splice(0, 0, evt.pop());
}
});
};
EDIT: Correction d'une erreur dans la version "multiple" où la variable len
n'a pas été réinitialisée.
Lier? par opposition à lier 'Down' ou 'left'? :) –
La méthode BindUp n'existe pas ... –
Est-ce seulement un exemple de ce que je veux faire? –