Kendo UI开发教程(14): Kendo MVVM 数据绑定(三) Click

27 篇文章 3 订阅
27 篇文章 81 订阅

Click绑定可以把由ViewModel定义的方法不绑定到目标DOM的click事件。当点击目标DOM元素时触发ViewModel的对应方法。
例如:

使用Click绑定

1<div id="view">
2    <span data-bind="click: showDescription">Show description</span>
3    <span data-bind="visible: isDescriptionShown, text: description"></span>
4</div>
5<script>
6    var viewModel = kendo.observable({
7        description: "Description",
8        isDescriptionShown: false,
9        showDescription: function (e) {
10            // show the span by setting isDescriptionShown to true
11            this.set("isDescriptionShown", true);
12        }
13    });
14 
15    kendo.bind($("#view"), viewModel);
16</script>

20130817004

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

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

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

中止事件向上传递

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

1<span data-bind="click: click">Click</span>
2<script>
3var viewModel = kendo.observable({
4    click: function(e) {
5        e.stopPropagation();
6    }
7});
8 
9kendo.bind($("span"), viewModel);
10</script>

停止事件缺省处理

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

1<a href="http://example.com" data-bind="click: click">Click</span>
2<script>
3var viewModel = kendo.observable({
4    click: function(e) {
5        // stop the browser from navigating to http://example.com
6        e.preventDefault();
7    }
8});
9 
10kendo.bind($("a"), viewModel);
11</script>
 
  • 3
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值