/ / jquery fora não está funcionando - javascript, jquery

jquery fora não está funcionando - javascript, jquery

Eu não consigo desvincular o uso do evento.

Eu estava tentando ligar click evento, em seguida, ligar mouseleave evento e callback desvincular click, mas não está funcionando.
el é dom criar e anexar por script que é por isso que eu uso document.on... el

então eu tentei abaixo incluir código comentado para teste não funcionando também .... eu sinto falta de entender alguma coisa?

jquery-1.11.1.min.js

https://jsfiddle.net/70t6jtns/

var el = $("div")
$(document).on("click", el, function() {
console.log("oncli")
});
//$(document).on("mouseleave", el, function() {
//$(document).off("click", el, function() {
//console.log("offcli")
//});
//$(document).off("click", el);
el.off("click");
//});

Respostas:

4 para resposta № 1

Primeiro, on não aceita objetos jQuery como o segundo argumento, então $(document).on("click", el, function() {... não faz sentido.

A questão principal é que você está usando a delegação de eventos em um caso, mas esperando um manipulador conectado diretamente no outro caso. click manipulador para document, mas depois tentando desanexar de um elemento específico (el). Você tem que removê-lo da mesma coisa que você anexou.

Se você deseja anexar o manipulador a el e separar depois, use el consistentemente como o alvo:

el.on("click", function() { ...

então

el.off("click");

Se o manipulador tiver que ser delegado, você vai querer ter certeza, novamente, de que está removendo a mesma coisa que está adicionando. Então, por exemplo,

$(document).on("click", "selector-for-the-element", function() { ...

então

$(document).off("click", "selector-for-the-element");