原文

为了使用方法和事件,首先要获取到widget实例。

获取widget

一共有3种获取widget的方式。

jQuery的data方法

将widget的名作为参数传给jQuery的data方法。(widget都是jQuery插件)。

    <p>Animal: <input id="animal" /></p>

    <script>
$(function() {
// 创建widget实例
$("#animal").kendoAutoComplete({ dataSource: [ "Ant", "Antilope", "Badger", "Beaver", "Bird" ] }); // 获取widget实例
var autoComplete = $("#animal").data("kendoAutoComplete"); console.log(autoComplete);
});
</script>

getKendo* 方法

还可以使用getKendo<WidgetName>方法来获取widget。

    <p>Animal: <input id="animal" /></p>

    <script>
$(function() {
// 创建widget实例
$("#animal").kendoAutoComplete({ dataSource: [ "Ant", "Antilope", "Badger", "Beaver", "Bird" ] }); // 获取widget实例
var autoComplete = $("#animal").getKendoAutoComplete(); console.log(autoComplete);
});
</script>

The JavaScript Method Syntax

        <p>Animal: <input id="animal" /></p>

        <script>
$(function() {
$("#animal").kendoAutoComplete({ dataSource: [ "Ant", "Antilope", "Badger", "Beaver", "Bird" ] }); var autoComplete = $("#animal").data("kendoAutoComplete"); // focus the widget
autoComplete.focus();
});
</script>

这不就是第一种方法吗???

处理widget事件

在初始化的时候绑定事件

    <p>Animal: <input id="animal" /></p>

    <script>
$(function() { $("#animal").kendoAutoComplete({
dataSource: [ "Ant", "Antilope", "Badger", "Beaver", "Bird" ],
change: function(e) {
console.log("change event handler");
}
}); });
</script>

在初始化之后去绑定事件

    <p>Animal: <input id="animal" /></p>

    <script>
$(function() { $("#animal").kendoAutoComplete({
dataSource: [ "Ant", "Antilope", "Badger", "Beaver", "Bird" ]
}); // ... var autocomplete = $("#animal").data("kendoAutoComplete"); // 这种方式绑定的事件处理器,事件每次触发都会执行
autocomplete.bind("change", function(e) {
console.log("change event handler");
}); // 这种方式绑定的事件处理器,只有事件首次被触发才会执行
autocomplete.one("open", function(e) {
console.log("open event handler");
}); });
</script>

事件处理器参数

每个widget都会传递一个参数给事件处理器,这个参数被称为event object。所有的event object都有一个sender字段,它指向触发事件的widget实例。

不支持传递额外的自定义事件参数给事件处理器。

    <p>Animal: <input id="animal" /></p>

    <script>
$(function() { $("#animal").kendoAutoComplete({
dataSource: [ "Ant", "Antilope", "Badger", "Beaver", "Bird" ],
open: function(e) {
var autocomplete = e.sender;
}
}); });
</script>

阻止事件

使用event objectpreventDefault()方法阻止事件。

    <p>Animal: <input id="animal" /></p>

    <script>
$(function() {
$("#animal").kendoAutoComplete({
dataSource: [ "Ant", "Antilope", "Badger", "Beaver", "Bird" ]
}); var autoComplete = $("#animal").data("kendoAutoComplete"); // prevent the autocomplete from opening the suggestions list
autoComplete.bind('open', function(e) {
e.preventDefault();
});
});
</script>

解绑事件

为了解绑事件,要保持一个到事件处理器函数的引用,并将其传到unbind方法中去。如果调用unbind方法时没有传递任何参数,那么会解除所有这个事件的handler。

    <p>Animal: <input id="animal" /></p>

    <button id="unbindButton">Unbind event</button>

    <script>
$(function() {
var handler = function(e) { console.log(e); };
$("#animal").kendoAutoComplete({ dataSource: [ "Ant", "Antilope", "Badger", "Beaver", "Bird" ] }); var autoComplete = $("#animal").data("kendoAutoComplete"); autoComplete.bind("open", handler); $("#unbindButton").on("click", function() {
autoComplete.unbind("open", handler);
});
});
</script>

限制

当直接调用方法时,对应的event不会触发。例如,如果通过API直接调用PanleBar的select方法,那么select事件不会被触发。

[译]kendoui - 方法和事件的更多相关文章

  1. Vue方法与事件

    gitHub地址:https://github.com/lily1010/vue_learn/tree/master/lesson10 一 vue方法实现 <!DOCTYPE html> ...

  2. VB中的属性、方法和事件概念解析

    Visual Basic 语言中的所有对象都有它们自己的属性.方法和事件,其中包括窗体和控件.可以将属性视为对象的特性,将方法视为对象的操作,而将事件视为对象的响应. 日常生活中的对象(如氦气球)也具 ...

  3. C#学习笔记(补充)——扩展方法、事件

    (搬运自我在SegmentFault的博客) 一.扩展方法 扩展方法使你能够向现有类型"添加"方法,而无需创建新的派生类型.重新编译或以其他方式修改原始类型. 注意事项: 扩展方法 ...

  4. Ⅳspring的点点滴滴--方法和事件

    承接上文 方法和事件 .net篇(环境为vs2012+Spring.Core.dll v1.31) public abstract class MethodDemo { protected abstr ...

  5. 读取本地文件理解FileReader对象的方法和事件以及上传按钮的美化。

    一.FileReader对象 用来把文件读入内存,并且读取文件中的数据.FileReader对象提供了异步API,使用该API可以在浏览器主线程中异步访问文件系统,读取文件中的数据. 浏览器支持情况, ...

  6. [转]addEventListener() 方法,事件监听

    转载  白杨-M  http://www.cnblogs.com/baiyangyuanzi/p/6627401.html addEventListener() 方法,事件监听 你可以使用 remov ...

  7. jQuery-委托事件和on方法注册事件

    delegate注册委托事件 delegate--代理.委托 事件代理----事件最终不是由$("#first")执行,它只是代理元素 第一个参数:最终发生事件的元素 第二个参数: ...

  8. Bootstrap modal常用参数、方法和事件

    Bootstrap modal(模态窗)常用参数.方法和事件: 参数: 名称 类型 默认值 描述 Backdrop Boolean或字符串“static” True True:有背景,点击modal外 ...

  9. addEventListener() 方法,事件监听

    知识点1:addEventListener() 方法,事件监听,可以使用 removeEventListener() 方法来移除事件的监听. 语法 element.addEventListener(e ...

随机推荐

  1. 【php】php算法的一些实现

    1.生成一定范围内的数组,步长可以设置 function range($step = 10, $max = 100){ if ($step < 1 || $step > $max){ re ...

  2. Nginx实现负载均衡的几种方式

    负载均衡的几种常用方式 1.轮询(默认) 每个请求按时间顺序逐一分配到不同的后端服务器,如果后端服务器down掉,能自动剔除. upstream backserver { server 192.168 ...

  3. linux防火墙,高级策略策略实例详解(实例一)

    双线服务器的控制问题: 要求:写出这个电信用户访问到双线web服务器时的IP变化过程(只写源IP,目标IP,和做SNAT还是DNAT等) 你觉得有没有问题? 实验环境: 精简一点可以使用下面的四台虚拟 ...

  4. centos7 下解决mysql-server找不到安装包问题

    第一步:安装从网上下载文件的wget命令 [root@master ~]# yum -y install wget 第二步:下载mysql的repo源 [root@master ~]# wget ht ...

  5. Linux脚本点滴

    1.当硬盘空间不足15%时,循环删除最早的日志文件(ELK): #!/bin/bash for((i=20;i>=5;i-=1)) do code=`df /dev/mapper/ElkGrou ...

  6. Spring Boot 1.X和2.X优雅重启实战

    纯洁的微笑 今天 项目在重新发布的过程中,如果有的请求时间比较长,还没执行完成,此时重启的话就会导致请求中断,影响业务功能,优雅重启可以保证在停止的时候,不接收外部的新的请求,等待未完成的请求执行完成 ...

  7. iview表单验证下拉框不通过问题

    iview表单验证的步骤: 第一步:给 Form 设置属性 rules :rules 第二步:同时给需要验证的每个 FormItem 设置属性 prop 指向对应字段即可 prop=”“ 第三步:注意 ...

  8. 编译 pcre - 开源的正则表达式(库)

    PCRE百科介绍: PCRE(Perl Compatible Regular Expressions)是一个Perl库,包括 perl 兼容的正则表达式库.这些在执行正规表达式模式匹配时用与Perl ...

  9. File类三种得到路径的方法

    转: File类三种得到路径的方法 2010年11月29日 20:37:00 ssyan 阅读数:27123 标签: filemicrosoftstringexceptionwindowsunix   ...

  10. 第三十三节,目标检测之选择性搜索-Selective Search

    在基于深度学习的目标检测算法的综述 那一节中我们提到基于区域提名的目标检测中广泛使用的选择性搜索算法.并且该算法后来被应用到了R-CNN,SPP-Net,Fast R-CNN中.因此我认为还是有研究的 ...