Chosen: Escolhido no Ipad, problema de rolagem, seleção única e clique, problema seleção múltipla

Criado em 28 mar. 2015  ·  41Comentários  ·  Fonte: harvesthq/chosen

A correção recente:

2119 Corrigir propagação de evento de toque

parece quebrar outra funcionalidade escolhida no Ipad (testado no Ipad 3, última versão escolhida).
Problemas:

  • seleção única: a rolagem da lista suspensa não funciona mais
  • seleção múltipla: a remoção dos itens selecionados é impossível e, após a primeira vez, um clique na janela de seleção não mostra a lista suspensa
    Esses problemas podem ser reproduzidos usando um Ipad no site de teste padrão escolhido: http://harvesthq.github.io/chosen/ nos exemplos de seleção padrão e seleção múltipla.
    Eles provavelmente têm a ver com o # 2119 Fix, pois a funcionalidade estava ok antes.
Bug Has Solution

Comentários muito úteis

Estou enfrentando o mesmo problema. Consegui encontrar uma solução alternativa, que envolve comentar o evt.preventDefault () em touchstart.chosen que foi implementado com # 2119

      this.container.bind('touchstart.chosen', function(evt) {
        _this.container_mousedown(evt);
        //return evt.preventDefault();
      });
      this.container.bind('touchend.chosen', function(evt) {
        _this.container_mouseup(evt);
        return evt.preventDefault();
      });

Todos 41 comentários

Também estou tendo o problema que @donthebike está vendo.

Mesmo aqui

Mesmo problema aqui. Tanto no IOS quanto no Android. Alguma hora prevista para uma correção?
Obrigado.

Também vendo esse problema.

O mesmo problema aqui com relação ao ícone de desmarcar (a cruz) não funciona para remover as opções selecionadas em dispositivos de toque. A tecla backspace ainda funciona para remover opções.

Eu testei antes / depois da correção # 2119 (usando git bisect) para confirmar que o problema foi introduzido por esse commit. Testado no Safari e Chrome no iPad, e também Chrome no tablet Android.

Mesmo problema que @ AmirS2. Mas corrigiu o evento de clique quando a tela rola enquanto o menu suspenso é aberto.

O mesmo problema.

Eu estava tendo o mesmo problema, além de um problema de seleção no Android. Eu simplesmente removi todos os eventos de toque como uma solução fácil. Tudo funciona para Android e iOS, exceto que, quando uma opção é selecionada, ela não é inicialmente destacada em dispositivos móveis. No entanto, estou usando apenas o único select. Também não tenho muita experiência com eventos de toque, então não tenho certeza se houve um motivo específico para eles serem usados ​​neste caso.

O mesmo problema aqui. Desativar todos os eventos de toque corrige o problema, como disse @nlaitchison . Mas não acho que seja uma solução permanente. Alguma opinião sobre isso?

Estou enfrentando o mesmo problema. Consegui encontrar uma solução alternativa, que envolve comentar o evt.preventDefault () em touchstart.chosen que foi implementado com # 2119

      this.container.bind('touchstart.chosen', function(evt) {
        _this.container_mousedown(evt);
        //return evt.preventDefault();
      });
      this.container.bind('touchend.chosen', function(evt) {
        _this.container_mouseup(evt);
        return evt.preventDefault();
      });

Eu também estou vendo esse problema. Muito irritante para usuários móveis.

Caro @vbanuelos , sua solução alternativa não corrigiu o problema para mim. Qual versao voce usa ? 1.4.2?

@ptrussart - correto. V 1.4.2

Só pensei em jogar meus dois centavos! Este é um problema para mim também. Minha solução alternativa foi apenas desativar o escolhido em iPads, o que você pode fazer alterando a linha 532 do arquivo jquery de

      if (/iP(od|hone)/i.test(window.navigator.userAgent)) {
        return false;
      }

para

      if (/iP(od|ad|hone)/i.test(window.navigator.userAgent)) {
        return false;
      }

Tenho o mesmo problema de rolagem, a correção de @vbanuelos me ajudou, obrigado!

+1 correção de @vbanuelos . Muito obrigado. Testado no Safari e Chrome em iOS8.3 em uma única lista de seleção.

correção de @vbanuelos me ajudou, obrigado!

Sim! +1 correção de @vbanuelos

Essa correção será mesclada novamente ou há algo bloqueando?

Essa correção será mesclada novamente ou há algo bloqueando?

Algo novo sobre isso?

@ptrussart - Parece que minha solução alternativa está funcionando para a maioria. Talvez possa ser implementado na versão mais recente?

No momento, porém, codificado. :(

Acabei de receber um colega que teve de codificar a solução alternativa preventDefault() mencionada acima.

Existe algum problema com isso? Eu vejo um commit removendo a linha e um commit revertendo a remoção.

Muito obrigado.

@vbanuelos Isso é ótimo

Substitua a linha 1004 no arquivo escolhido.jquery.js
close_link.bind('click.chosen', function(evt) {
por
close_link.bind('touchstart.chosen click.chosen', function(evt) {

@ josemigueldel85 esta pode ser uma pergunta estúpida, mas onde está a solução rápida para o suporte de toque móvel que se pretende colocar? Estou falando sobre o abaixo de sua postagem acima.

// Chosen touch support.
    if ($('.chosen-container').length > 0) {
      $('.chosen-container').on('touchstart', function(e){
        e.stopPropagation(); e.preventDefault();
        // Trigger the mousedown event.
        $(this).trigger('mousedown');
      });
    }

Baixe o arquivo Anexo na página da web. http://realize.be/mobile-support-chosen

escolhido.jquery.min_.js.txt

Esse problema não ocorre apenas no iPad, mas também em tablets Android.

Além disso, a exclusão de opções ainda é possível usando backspace

a correção funciona, mas é aplicada à versão 1.1 do arquivo escolhido ... alguma forma de corrigir a versão mais recente? ou deixe-nos saber o que foi modificado nele? obrigado

@vbanuelos usando esta abordagem na v1.6.1, funciona bem no ipad (simulador de cromo), você conhece as consequências desta abordagem.

Estou tendo o mesmo problema. Existe uma maneira de adicionar a abordagem @vbanuelos sem editar o arquivo de origem? Como um hack que podemos adicionar ao script de nosso próprio site em vez de editar o arquivo chosen.min.js diretamente? Eu tenho esse problema no ipad onde escolhido não é rolável, mesmo com a versão atual.

Vejo que o escolhido fica desabilitado no celular, mas não desabilitado no iPad. Acho que ajudará se pudermos desativar os escolhidos em iPads e tablets, assim como os celulares. Existe uma maneira de fazer isso?

Olá a todos,

Estou tendo esse problema e estou procurando uma solução real.

Você consertou em alguma versão? Você tem um ETA?

Devo atualizar a biblioteca escolhida?

@ harvesthq / Choice-developers

Obrigado por adiantamento

minha correção funcionou para seleção múltipla, mas é perturbadora seleção única escolhida por
não permitindo que funcionem no primeiro clique, depois, quando você clicar na segunda vez,
a caixa de seleção funciona, então aqui está um dos prós e contras,

parecem problemas só sem soluções

Na terça-feira, 28 de fevereiro de 2017 às 12h21, Virgile [email protected] escreveu:

Olá a todos,

Estou tendo esse problema e estou procurando uma solução real.

Você consertou em alguma versão? Você tem um ETA?

Devo atualizar a biblioteca escolhida?

@ harvesthq / Choice-developers

Obrigado por adiantamento

-
Você está recebendo isso porque comentou.
Responda a este e-mail diretamente, visualize-o no GitHub
https://github.com/harvesthq/chosen/issues/2289#issuecomment-282812806 ,
ou silenciar o tópico
https://github.com/notifications/unsubscribe-auth/AOb86iHEa_PhLl66NKAS_lFpi6MAJv9Yks5rgxsVgaJpZM4D2bZd
.

Parece que isso foi corrigido no master em outubro - # 2725 (referenciado acima de 9 de outubro de 2016). Ou você está testando contra o mestre (e esta correção) e ainda é um problema?
Ainda não houve um novo lançamento, mas você pode instalar a versão master através do bower com
bower install https://github.com/harvesthq/chosen-package.git#master --save
[não use bower install https://github.com/harvesthq/chosen.git#master --save porque este não é o repositório amigável do bower, ou seja, não contém os arquivos js, css, etc. gerados.]
(se você já tiver a versão 1.6.2 instalada, terá a opção de sobrescrever a versão instalada). Não é o ideal, já que todo bower install futuro terá a versão mais recente, mas uma opção por enquanto.

Fiz o que @mcjwb recomendou e usei a versão master. Eu normalmente uso tudo o que está hospedado em cdnjs.com, mas ainda está quebrado. Vou ficar de olho para que isso seja consertado.

Acabou de lançar o Chosen 1.7.0 que inclui # 2725

Ótimo, resolveu tudo para mim. Muito obrigado.

  • seleção única: a rolagem da lista suspensa não funciona mais

Confirmado - corrigido.

  • seleção múltipla: a remoção de itens selecionados é impossível

Ainda não corrigido (escolhido 1.7.0)

Obrigado @snakexxx

Substitua a linha 1004 no arquivo escolhido.jquery.js
close_link.bind('click.chosen', function(evt) {
por
close_link.bind('touchstart.chosen click.chosen', function(evt) {

substitua todos os seus eventos 'click.chosen' por 'touchstart.chosen click.chosen'

Esta página foi útil?
0 / 5 - 0 avaliações

Questões relacionadas

engintekin picture engintekin  ·  8Comentários

mcclurem picture mcclurem  ·  4Comentários

jbrooksuk picture jbrooksuk  ·  6Comentários

gandarez picture gandarez  ·  5Comentários

piercemcgeough picture piercemcgeough  ·  5Comentários