2016-12-19 4 views
0

Я пытаюсь получить возможность выбора для мобильного приложения (используя jQuery mobile). Все работает хорошо, если я использую управление mousedown, чтобы выбрать отдельные дополнения (и делать unselects).jquery selectable mousedown unselecting metakey

Но поскольку это для мобильного приложения, я не могу использовать управляющий ключ. Я добавил этот код для управления ключом управления .. и он работает, чтобы добавить события выбора, но это нарушает отмену выбранных событий. (Например, если вы нажмете на выбранный элемент, он не будет отменен). Кроме того, по какой-то причине это виснет через некоторое время и получает очень медленно обработки событий ...

Вот код, я говорю:

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

Мой полный набор кода в jsfiddle: http://jsfiddle.net/Y3TUj/38/

ответ

0

Если вы используете мобильный телефон, почему бы не использовать tap, чтобы выбрать и снять выделение (вместо metakey) ...?

Попробуйте это:

$("#tableId").bind("tap", function(e) { 
     e.preventDefault(); 
     var el = e.target; 
     if ($(el).hasClass("ui-selected")) { 
      $(el).removeClass('ui-selected').addClass('ui-unselecting'); 
     } else { 
      $(el).addClass("ui-selecting"); 
     } 
     $("#tableId").data("ui-selectable")._mouseStop(null); 
    }); 

Fiddle: http://jsfiddle.net/xw16e2ks/1/

+0

Спасибо за ответы. Проблема заключается в том, что кран отменяет выбор всех предыдущих выборов. Я пытаюсь настроить его таким образом, чтобы предыдущие выборы не отображали, если эта ячейка имеет mousedown'ed ... – user2040850

+0

@ user2040850: вы пробовали мой пример? 'e.preventDefault();' следует избегать этого. – deblocker

+0

Да. На рабочем столе, когда я его попробовал, щелчок по 2-й ячейке отменял предыдущую ячейку и нажал на выбранную ячейку, не отменил выделение этой ячейки – user2040850

 Смежные вопросы

  • Нет связанных вопросов^_^