gpt4 book ai didi

jquery 在多选中选择了 Shift 选项?

转载 作者:行者123 更新时间:2023-12-01 05:47:02 24 4
gpt4 key购买 nike

我正在使用 jQuery Chosen 插件来实现自动完成功能。是否可以使用 Shift + 箭头键选择多个并突出显示多选中的一个选项。请找到下面的快照: enter image description here

任何帮助,我们将不胜感激..!!!

在selected.jquery.js文件中,我添加了以下代码来实现shift+箭头键的实现。

Chosen.prototype.keydown_checker = function(evt) {
var stroke, _ref1;

stroke = (_ref1 = evt.which) != null ? _ref1 : evt.keyCode;
this.search_field_scale();
if (stroke !== 8 && this.pending_backstroke) {
this.clear_backstroke();
}
switch (stroke) {
case 8:
this.backstroke_length = this.search_field.val().length;
break;
case 9:
if (this.results_showing && !this.is_multiple) {
this.result_select(evt);
}
this.mouse_on_container = false;
break;
case 13:
evt.preventDefault();
break;
case 38:
evt.preventDefault();
this.keyup_arrow();
break;
case 40:
evt.preventDefault();
this.keydown_arrow();
break;
case 16:
if (this.result_highlight) {
high = this.result_highlight;
this.result_select(evt);
}
break;
}
}

最佳答案

我找到了解决方案...

在文件Chosen.js版本1.8.7

行:132

this.selected_elements = [];
this.holding_shift = false;

第 475 行:

    case 16:
if (this.results_showing && this.is_multiple){
this.holding_shift = true;
}
break;

第 526 行:

    case 27:
if (this.results_showing) {
this.results_hide();
}
break;
case 16:
if (this.results_showing && this.is_multiple) { this.holding_shift = false; }
break;
case 9:
case 17:
case 18:
case 38:
case 40:
case 91:
break;

第 1064 行:

Chosen.prototype.search_results_mouseup = function(evt) {
var target;
target = $(evt.target).hasClass("active-result") ? $(evt.target) : $(evt.target).parents(".active-result").first();

//Support Shift + Select
if (this.holding_shift) {
if (this.selected_elements.length < 1) {
target.addClass("first-selected selected-result");
this.selected_elements.push(target);
true;
} else {
let selected = null;
const direction = target.prevAll('.first-selected').length > 0 ? 'back' : 'forward';

if (target.get(0) === this.selected_elements[0].get(0)) { return false; }

if (direction === "forward") {
selected = target.nextUntil(this.selected_elements[0], ':not(.result-selected)').addBack().add(this.selected_elements[0]);
} else {
selected = target.prevUntil(this.selected_elements[0], ':not(.result-selected)').addBack().add(this.selected_elements[0]);
}

selected.each((i, elem) => {
this.result_highlight = $(elem);
return this.result_select(evt);
});

this.selected_elements[0].removeClass("first-selected selected-result");
this.selected_elements = [];
this.holding_shift = false;
selected = false;

return this.search_field.focus();
}
}

else if (target.length) {

第 1209 行:

 if (this.is_multiple && (!this.hide_results_on_select || (evt.metaKey || evt.ctrlKey || evt.shiftKey))) {
if (evt.metaKey || evt.ctrlKey || evt.shiftKey) {
this.winnow_results({

和文件chosen.css

第 239 行:

.chosen-container .chosen-results li.highlighted, li.selected-result {

第 330 行:

  /*background-size: 100% 19px;
background-repeat: repeat-x;*/

这就是大家

关于jquery 在多选中选择了 Shift 选项?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25744069/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com