微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

KnockoutJS 3.X API 第四章之事件event绑定

目的

event绑定即为事件绑定,即当触发相关DOM事件的时候回调函数。例如keypress,mouSEOver或者mouSEOut等

例如:

Mouse over me

源码:

rush:js;">
SEOver: enableDetails,mouSEOut: disableDetails }"> Mouse over me

如上述例子,当鼠标指针移入或者移出Mouse over me时,对于detailsEnabled的值设定true或者false。进而控制Details的显示和隐藏。

和click一样,event后边所跟的格式一般为:event { mouSEOver: someObject.someFunction },其中的回调函数并不一定非要是视图模型的函数,他可以时任何对象的函数

备注1:传递一个当前项目作为参数

London Paris Tokyo You seem to be interested in:

源码:

rush:js;">
    SEOver: $parent.logMouSEOver }">

You seem to be interested in:

需要注意,如果你使用的是嵌套绑定上下文,比如foreach或者with,而需要处理的回调函数在视图模型中或者在父模型中,需要使用$parent或者$root前缀来进行绑定

与click绑定一样,给this取个别名比较好。

备注2:传递多个参数

此处请参考click绑定:

rush:js;">
SEOver: myFunction }"> Mouse over me

封装多参数示例:

rush:js;">
SEOver: function(data,event) { myFunction('param1','param2',data,event) } }"> Mouse over me

使用bind函数示例:

rush:js;">

备注3:允许认动作

同click绑定一样,ko禁止认动作,比如你将event的keypress事件绑定到一个Input元素上,那这个input元素输入的值将会被keypress回调占用而无法输入任何信息。解决方案很简单,就是在回调函数中返回true即可。

备注4:防止冒泡事件

如果要防止冒泡事件,可以直接在事件绑定后附加一个youreventBubble绑定。将该附加绑定设置为false则禁止冒泡事件的发生,例如:

rush:js;">
SEOver: myDivHandler }">

备注5:Jquery互动

以上所述是小编给大家介绍的KnockoutJS 3.X API 第四章之事件event绑定。编程之家 jb51.cc 收集整理的教程希望能对你有所帮助,如果觉得编程之家不错,可分享给好友!感谢支持

原文地址:https://www.jb51.cc/js/45309.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐