O .one()
método em jQuery é usado para vincular um tratador de evento a um elemento e desvincular automaticamente esse tratador de evento após sua execução uma única vez.
O .on()
método é comumente usado para delegar um manipulador de eventos mais acima na árvore DOM (o que é mais eficiente do que vincular um manipulador a muitos elementos individuais e também nos permite manipular elementos que não existem no DOM no momento da vinculação) .
É comumente esquecido que o .one()
método também oferece suporte à delegação de eventos da mesma maneira .on()
. Portanto, se você precisar vincular um manipulador de eventos único a um elemento que não existe no DOM no momento em que seu código é executado:
$("#someAncestor").one("click", ".boundTo", function () {
// Do something cool
});
Dica bônus: não chame .one()
ou .on()
no document
objeto se puder evitar. Quanto menos distância o evento tiver para borbulhar antes de acionar o manipulador, mais eficiente sua delegação parecerá.