Pergunta

Eu quero ser capaz de alterar os parâmetros que são passados para o selecionável de início do evento, para que eu possa, basicamente, permitir que o meu usuário, para utilizar os selecionáveis do jQuery UI efeito, sem ter que mantenha pressionada a tecla CTRL.

JS

$(function() {
$( "#selectable" ).bind("mousedown", function(event, ui) {
    var result = $( "#select-result" ).empty();
    event.metaKey = event.ctrlKey = true;
});
$( "#selectable" ).selectable();
});

Eu tenho um violino com o que eu estou tentando fazer aqui:

http://jsfiddle.net/josephbulger/ZfevM/

O problema que eu estou tendo, é que quando eu definir o evento de parâmetros no método start, stop método não é enxergar as mudanças que eu estou fazendo.

Existe uma forma de realizar o que eu estou tentando fazer?

Foi útil?

Solução

Você não pode definir as propriedades aqui não...porque é uma diferentes event objeto no stop o método.Você pode definir algumas variáveis em um âmbito mais elevado (como este), mas nenhum que irá persistir no event objecto.Não é que é "limpar" eles realmente, é apenas uma marca spanking novo objeto.


Para fazer o selecionável comportar-se como se Ctrl é realizada para baixo, ligar para o mousedown evento ele usa antes do tempo e definir o .metaKey propriedade em que event para true, como este:

$("#selectable").bind("mousedown", function(e) {
    e.metaKey = true;
}).selectable();

Você pode testá-lo aqui, lembre-se de encontrar antes de chamar .selectable(), desde manipuladores de eventos são executados na ordem vinculado.

Outras dicas

Eu atualizei o código. Dê uma olhada neste URL.

http://jsfiddle.net/phoenix_suresh/7f6j5/

Enquanto isso, eu adicionei o atributo de identificação para

  • itens para que você possa ter mais controle sobre isso.

  • Depois de encontrar esta resposta, notei que você pode usar o originalEvent propriedade no event objeto retornado no selecionável start manipulador de eventos para definir o ctrlKey propriedade para verdadeiro.

    Igual a:

    $("#selectable").selectable({
        start: function (event, ui) {
            event.originalEvent.ctrlKey = true;
        }
    });
    

    Trabalhando violino

    Licenciado em: CC-BY-SA com atribuição
    Não afiliado a StackOverflow
    scroll top