我无法理解 PreventDefault 函数的工作原理。 我创建了一个简单的 jsfiddle,但是选择和扩展仍然有效并且没有被阻止。
感谢任何帮助,谢谢。
编辑: 如果页面无效,如何防止选择?这是一段代码:
panelBar.bind("select", function (e) {
//some code here
if (!isValid) {
e.preventDefault(e); //doesn't work
//this.select('#firstStep'); //doesn't work
}
});
确实,您使用的是去年的旧版本。我相应地更新了你的 jsFiddle : http://jsfiddle.net/XRfKb/18/
目前无法阻止select事件。从下一个版本开始,选择事件可以阻止链接导航,但不能阻止项目的实际选择。我们也可以考虑阻止选择。
我最终对 PanelBar 中的链接使用简单的“单击”事件,而不是对 PanelBar 的“选择”事件。
e.preventDefault 和 e.stopPropagation 对它们来说效果很好。
我通过处理
select
事件并自动调用 clearSelection
解决了这个问题。
我的打字稿代码:
const panelBarOptions : kendo.ui.PanelBarOptions = {
select: function(event: kendo.ui.PanelBarSelectEvent) {
this.clearSelection();
}
// ...
// And the rest
// ...
};