Kendo MVVM 数据绑定(五) Events

本篇和 Kendo MVVM 数据绑定(三) Click 类似,为事件绑定的一般形式。Events 绑定支持将 ViewModel 的方法绑定到 DOM 元素的事件处理(如鼠标事件)。例如:

<div id="view">
<span data-bind="events: { mouseover: showDescription, mouseout: hideDescription }">Show description</span>
<span data-bind="visible: isDescriptionShown, text: description"></span>
</div>
<script>
var viewModel = kendo.observable({
description: "Description",
isDescriptionShown: false,
showDescription: function (e) {
// show the span by setting isDescriptionShown to true
this.set("isDescriptionShown", true);
},
hideDescription: function (e) {
// hide the span by setting isDescriptionShown to false
this.set("isDescriptionShown", false);
}
}); kendo.bind($("#view"), viewModel);
</script>

实际上,click 绑定是 events 绑定的一个特例,下面的两种实现是等效的:

<span data-bind="click: clickHandler"></span>

<span data-bind="events: { click: clickHandler }"></span>

注: Kendo MVVM 的 DOM 事件参数 e 封装在 jQuery 的 Event 对象中。

中止事件向上传递

如果需要终止事件向上传递(event bubbling),可以调用 stopPropagation 方法。

<span data-bind="click: click">Click</span>
<script>
var viewModel = kendo.observable({
click: function(e) {
e.stopPropagation();
}
}); kendo.bind($("span"), viewModel);
</script>

停止事件缺省处理

如果要取消某些 DOM 元素单击后的缺省处理函数,比如转到其它页面或是提交表单,为了取消这些缺省实际处理,可以调用 preventDefault() 方法。例如:

<a href="http://example.com" data-bind="click: click">Click</span>
<script>
var viewModel = kendo.observable({
click: function(e) {
// stop the browser from navigating to http://example.com
e.preventDefault();
}
}); kendo.bind($("a"), viewModel);
</script>

最新文章

  1. SVG图形引用、裁切、蒙版
  2. ajax请求cookie有效性问题验证
  3. MMORPG大型游戏设计与开发(客户端架构 part5 of vegine)
  4. AppPoolService-IIS应用程序池辅助类(C#控制应用程序池操作)
  5. iOS AVAudioRecorder 录音频率、声道、位数配置 wav格式
  6. 关于在 loadView 中改变状态栏的可视性
  7. [转]Similarities between Hibernate and JDBC objects
  8. 关于Qt
  9. 两个实用的Python的装饰器
  10. C# foreach循环绑定key数组和value 数组(备用)
  11. [转]ASP.NET Session 详解
  12. MEF 编程指南(十):重组
  13. jquery mobile validation
  14. Mysql权限控制 - 允许用户远程连接(转载)
  15. error: a label can only be part of a statement and a declaration is not a statement
  16. Spark性能调优之解决数据倾斜
  17. Windows Server 2016-图形化备份域控制器
  18. @property的参数
  19. 搭建自己的Webpack项目
  20. debian9升级安装到python3.6和pip3.6

热门文章

  1. JS---分解质因数
  2. 如何将Eclipse中编写的java项目导出?
  3. C# 32位程序在64位系统下运行中解决重定向问题
  4. oracle 查询及删除重复记录的SQL语句
  5. php如何运行
  6. python-根据URL地址下载文件
  7. 2017 Gartner Hype Cycle for Emerging Technologies: AI, AR/VR, Digital Platforms
  8. 3DMAX 10 角色动作
  9. uoj#399. 【CTSC2018】假面(概率期望)
  10. 洛谷P3327 [SDOI2015]约数个数和(莫比乌斯反演)