Adicione ou exclua eventos no navegador do IE com o AnextEvent e o Detachevent. Em outros navegadores padrão, são utilizados AddEventListener e RemowEventListener. O seguinte encapsula a adição e a remoção de eventos. Basta olhar para o código!
/*** @Description Event Binding, compatível com os navegadores* @param alvo* Objeto de acionamento do evento* @param tipo* evento* @param func* função manipulador de eventos*/função bind (Target, type, func) {if (target.adDeventListener) {//nieie e ie9Target.adDent. ie6 para ie8target.attachevent ("on" + type, func);} else {target ["on" + type] = func; // ie5}}/*** @Description Event Remoção, compatível com cada navegador* @param destino* Objeto de acionamento do evento* @param tipo* evento* @param func* função manipulador de eventos*/function un (alvo.ERMove, Func) {if (Target.reMove FUNSEVENER) {Target.Removent, {Target.Detachevent ("on" + tipo, func);} else {Target ["on" + type] = null;}}Outros suplementos sobre o significado do terceiro parâmetro do addEventListener
O terceiro parâmetro do addEventListener
A função usada para adicionar um evento de gatilho no W3C DOM é chamada AddEventListener. No entanto, nunca soube para que o terceiro parâmetro desta função deve ser usado. Eu sempre o defino casualmente e não encontrei nenhuma diferença. Finalmente vi a explicação quando li PPK no JavaScript há dois dias. Quanto aos arquivos DOM padrão encontrados há muito tempo, eu nunca procurei informações sobre esse parâmetro.
Este parâmetro é chamado de usecapture, que é um valor booleano, que é verdadeiro ou falso. Se true for enviado, o navegador usará o método de captura. Se falso, é borbulhante, o que só terá um impacto em situações específicas. Geralmente é recomendável ser falso. A situação em que haverá um impacto é que o elemento alvo tem um elemento ancestral e a mesma função de correspondência de eventos. Eu acho que será mais claro ver a imagem.
O exemplo tem duas camadas de blocos div
Como mostrado nesta imagem, meu exemplo tem duas camadas de elementos DIV e ambos definem um evento de clique. De um modo geral, se eu clicar no elemento azul interno, não apenas acionará o evento de clique do elemento azul, mas também acionará o evento de clique do elemento vermelho ao mesmo tempo. O parâmetro USEcapture é controlar a ordem dos dois eventos de cliques neste momento. Se for falso, será usado borbulhar. É um processo de dentro para fora, portanto, o evento de clique do elemento azul será executado primeiro e depois o evento de clique do elemento vermelho. Se for verdade, é captura. Pelo contrário, a borbulha será de fora para dentro. O evento de clique do elemento vermelho será executado primeiro antes que o evento de clique do elemento azul seja executado. Anexados estão dois exemplos, captura e bubbleng. Os dois arquivos são diferentes neste parâmetro, para que você possa descobrir que a sequência de eventos ocorre é diferente.
E se a captura de uso usada por elementos de diferentes camadas for diferente? Isso significa que, do elemento mais externo, ele procurará primeiro eventos definidos como captura para o elemento de destino e, depois de atingir o elemento de destino para executar o evento do elemento de destino e depois procure eventos definidos como bolha.