我正在开发一个ASP.NET MVC3应用程序,我正在使用telerik ComboBox。我有一个要求,其中我必须禁用ComboBox中的Enter按钮单击,因为它正在触发表单提交方法。以下是我的代码
Html.Telerik().ComboBox().Name("OpportunityType").Value("-1")
.BindTo(new SelectList(Model.OpportunityTypes, "OpportunityID", "OpportunityTypeName"))
.ClientEvents(events => events.OnChange("OnOpportunityTypeChange")
)
.HtmlAttributes(new { style = "width: 180px;" }).Render();
我试图处理下拉列表的按键事件,如下面的jquery的document.ready,但即使这样也无法解决问题。我们有Telerik ComboBox的按键事件吗?我的代码永远不会到达那里输入点击我试图提醒一些值,它没有显示
$("#OpportunityType").keypress(function (e) {
if (e.which == 13 || e.keyCode == 13) {
return false;
}
});
禁用此组合框的回车键事件的其他任何方式?
答案 0 :(得分:1)
您应该将处理程序添加到输入元素 - 而不是隐藏的处理程序。
即。
$("#OpportunityType-input").keypress(function (e) {
if (e.which == 13 || e.keyCode == 13) {
return false;
}
});
$("#OpportunityType-input").keypress(function (e) {
if (e.which == 13 || e.keyCode == 13) {
return false;
}
});
我希望这有帮助!
答案 1 :(得分:0)
根据"telerik combobox stop form submission"
的第一个google结果听起来你需要为onkeydown附加一个事件处理程序,然后同时使用preventDefault和stopPropagation来阻止回发。
答案 2 :(得分:0)
如何使用
<form [...] onkeypress="return validate(event)">
捕获表单中的keydown,然后使用传入的eventdetail参数(e)的eventSource属性来检查输入字段并返回false。