Как я могу отключить Shift-клик, но оставить нажатой Ctrl-клик в select с несколькими? - PullRequest
0 голосов
/ 24 апреля 2020

У меня есть два выбора на веб-форме. Один - это категория, другой - это элементы в категории. Когда пользователь выбирает категорию, элементы во втором выбранном элементе изменяются на те, которые принадлежат к выбранной категории. Второй выбор - множественный выбор, поэтому пользователь может выбрать несколько элементов из категории.

Я отключаю элементы в множественном выборе, просто скрывая их, когда выбранная категория не принадлежит им. По сути, это означает, что ВСЕ элементы находятся в множественном выборе, но не все отображаются.

Это вызывает небольшую проблему с нажатой клавишей Shift. Если я щелкаю по некоторому элементу (назовем его элементом № 1), а затем переключаю категории так, что становится виден другой набор элементов, то я нажимаю клавишу Shift при щелчке по элементу этой категории (назовите его элементом № 2), все элементы в категории выше он будет выбран. Я полагаю, что это потому, что, поскольку все элементы присутствуют в множественном выборе, он пытается выбрать все элементы между элементом № 1 и элементом № 2 (как ни странно, не все элементы между элементом № 1 и элементом № 2 выбраны, только видимые пункты выше пункта № 2). Это может показаться странным с точки зрения пользовательского опыта, и я бы хотел предотвратить это, отключив shift-click.

Мы хотели бы удерживать нажатой клавишу Ctrl, потому что мы действительно хотим, чтобы пользователь мог выбрать более одного элемента даже в разных категориях, но мы хотели бы предотвратить любое странное или «дребезжащее» поведение, чтобы не запутать или расстроить пользователя.

Возможно ли это?

...