我的另一个问题。标题基本上是这样说的,但我想知道函数之间的使用以及使用剑道 DropDownList 时的真正区别是什么。我当然已经阅读了Kendo 文档,但我并不清楚和之间的实际区别是什么。我不是 100% 确定这是否是一个要在这里问的问题,但我仍然会问它,因为我希望有人能照亮我。那么,这两个函数的用法有什么区别呢?onSelect
onClose
onSelect
onClose
其他看到的链接:
提前致谢。
我的另一个问题。标题基本上是这样说的,但我想知道函数之间的使用以及使用剑道 DropDownList 时的真正区别是什么。我当然已经阅读了Kendo 文档,但我并不清楚和之间的实际区别是什么。我不是 100% 确定这是否是一个要在这里问的问题,但我仍然会问它,因为我希望有人能照亮我。那么,这两个函数的用法有什么区别呢?onSelect
onClose
onSelect
onClose
其他看到的链接:
提前致谢。
首先要注意的是触发事件的顺序。如这里的演示所示,select
首先触发事件,然后change
触发close
事件。
select
事件select
每当用户选择项目时都会触发(注意:不是以编程方式选择时)。而且,除了传递e.sender
事件参数(触发事件的 DropDownList 的实例)之外,它还传递了被选中e.item
的<li>
项目。然后,您可以通过从 DropDownList传递e.item.index()
到方法来使用它来获取该项目的模型,即:.dataItem()
$("#list").data("kendoDropDownList").dataItem(e.item.index());
关于此方法的行为需要注意的是,即使您再次选择当前选定的项目,它也会触发。如果你不断地选择同一个项目,它会不断地触发 select 方法。
change
事件change
is fired whenever an item is selected and is different from the previous value. 它也不同于select
方法,因为它e.sender
是事件参数中传递的唯一参数,因此没有内置方法可以在不深入研究e.sender
对象中的方法和项目的情况下查看选择了哪个项目。
close
事件close
任何时候关闭列表都会触发,即使没有选择任何内容。与事件类似,change
事件参数中传递的唯一参数是e.sender
. 此方法的目的是用于您希望在列表关闭时触发某些行为的情况。
您可以像这样获得有关选择的角度样式反馈:
var $disDeskSel2 = $("#disDeskSel2");
function onSelectTwo(e) {
var dataItem = this.dataItem(e.item.index());
$("#displayNextSelection").html('<p>You age: ' + dataItem.text + '</p>');
$disDeskSel2.html('<p><span class="label label-primary">Based on your selection </span> You age: ' + dataItem.text + '</p>')
.hide();
}