Javascript 剑道UI下拉列表过滤器问题

Javascript 剑道UI下拉列表过滤器问题,javascript,jquery,kendo-ui,Javascript,Jquery,Kendo Ui,我正在使用最新的剑道UI版本和jQuery版本1.8 除了在剑道下拉列表中过滤外,其他一切都很好。启用过滤器时,下拉列表在打开后立即关闭。请看这里的小提琴: HTML <input id="dropdownlist" /> 当我将jQuery更改为更高版本(>=1.9)时,问题得到了解决。但是由于某些原因,我目前无法升级jQuery版本。 有人知道在不改变jQuery版本的情况下解决这个问题的“黑客”吗? 谢谢。这只是因为你现在可以更改JS代码,它包含aria expanded=

我正在使用最新的剑道UI版本和jQuery版本1.8

除了在剑道下拉列表中过滤外,其他一切都很好。启用过滤器时,下拉列表在打开后立即关闭。请看这里的小提琴:

HTML

<input id="dropdownlist" />
当我将jQuery更改为更高版本(>=1.9)时,问题得到了解决。但是由于某些原因,我目前无法升级jQuery版本。 有人知道在不改变jQuery版本的情况下解决这个问题的“黑客”吗?
谢谢。

这只是因为你现在可以更改JS代码,它包含aria expanded=“false”,但是你必须像aria expanded=“true”那样进行更改。然后它就可以正常工作了。它在下面定义:
class=“k-widget k-dropdown k-header”
。 单击F12并检查控制台

默认情况下,它需要
aria expanded=“false”
但当我将其更改为
aria expanded=“true”
时,它工作得很好。请参见快照您可以尝试以下操作:

$("[data-role=dropdownlist]").each(function () {
    var widget = $(this).data("kendoDropDownList");

    widget.wrapper.on("keydown", function (e) {
        e.stopImmediatePropagation();
    });
});

这不是我的代码,不幸的是,我找不到源代码,但据我所知,包装器允许您定义下拉列表本机不支持的一些选项,如keylistener,在本例中,“e.stopImmediatePropagation”的工作原理与“e.preventDefault”类似,但仅适用于up和down操作。我的问题与你的问题相似,这就解决了它。

你好,阿南德,谢谢你的回答。我不确定我是否正确理解你的评论。我试图更改aria expanded=“true”,但仍然不起作用。你能看看fiddle吗:看看我更新的评论和快照。转到调试模式,检查哪个Span类用于下拉列表,并将aria expanded=“false”更改为aria expanded=“true”嗨,Anand,我在不同的浏览器(Chrome、IE、FireFox)中查看了您的屏幕截图,但它仍然不起作用。我在这里找到了解决方案:谢谢。您能得到这个吗?您是否尝试过删除输入并偶然重新添加?我也有同样的问题,我的头撞了好几个小时。我完全删除了输入和.kendoDropDownList,并尝试了不使用剑道选项的不同路线。。然后我决定再给它一次机会,当我把一个新的选择列表放在我的页面上,然后再次运行kendodropdownlistjs,它神奇地工作了。老实说,我不知道发生了什么,但这是唯一的变量。我没有更改或更新任何javascript文件。
$("[data-role=dropdownlist]").each(function () {
    var widget = $(this).data("kendoDropDownList");

    widget.wrapper.on("keydown", function (e) {
        e.stopImmediatePropagation();
    });
});