gpt4 book ai didi

javascript - 试图阻止 kendoComboBox 的箭头键输入

转载 作者:行者123 更新时间:2023-11-30 17:41:55 31 4
gpt4 key购买 nike

我设置了一个 kendoComboBox,我试图阻止箭头键发送输入。

在我下面的示例中,如果我删除对 keyCode 38 和 40(上下箭头)的检查,它将阻止所有字母数字输入,但箭头键仍会更改 kendoComboBox 的选择。

有什么建议或想法吗?

JS Bin

$(document).ready(function() {

$("#products").kendoComboBox({
placeholder: "Select product",
dataTextField: "ProductName",
dataValueField: "ProductID",
filter: "contains",
autoBind: false,
minLength: 1,
dataSource: {
type: "odata",
serverFiltering: true,
transport: {
read: {
url: "http://demos.kendoui.com/service/Northwind.svc/Products"
}
}
}
});

// Stop up/down arrow input
$('#products').closest('.k-widget').keydown(function(e){

console.log(e.keyCode);

// Up/down arrow
if(e.keyCode == 38 || e.keyCode == 40)
e.preventDefault();
});

});

最佳答案

您尝试的方法不会起作用,因为它不会影响组合框注册的事件处理程序。您可以简单地用一个不使用箭头键导航的处理程序替换该处理程序(尽管作为用户,我不得不问您为什么要这样做):

kendo.ui.ComboBox.fn._keydown = function(e) {
var that = this,
key = e.keyCode;

that._last = key;

clearTimeout(that._typing);

if (key !== kendo.keys.TAB &&
key !== kendo.keys.DOWN &&
key !== kendo.keys.UP) {
that._search();
}
};

(在您第一次创建组合框之前在某处添加此代码)

Demo here

关于javascript - 试图阻止 kendoComboBox 的箭头键输入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20912986/

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