【发布时间】:2013-12-10 03:36:38
【问题描述】:
我刚开始使用 applyBindingsToNode,它非常适合我想要的东西,但需要注意的是......函数似乎不起作用。
ko.applyBindingsToNode(newNode.get()[0], {
//template: { name: 'relationshipNode', data: ent },
click: ent.select, //does not work
clickBubble: false,
event: {
contextmenu: ent.rightClick, //does not work
mouseover: ent.toggleHover, //does not work
mouseout: ent.toggleHover //does not work
},
attr: {
'data-name': ent.name, //works
'data-type': ent.type //works
},
css: {
selected: ent.selected, //works
hover: ent.hovered //works
},
text: ent.name //works
})
这是一个例子,悬停功能
self.toggleHover = function (entity, event) {
entity.hovered(!entity.hovered());
}
它会抛出一个错误,因为“实体”未定义。
所有这些函数都可以在运行时使用 data-bind 属性创建的元素上正常工作,如下所示:
<div data-bind="click: select, clickBubble: false, event: { contextmenu: rightClick, mouseover: toggleHover, mouseout: toggleHover }, attr: {'data-name': name, 'data-type': type }, css: { selected: selected, hover: hovered }"></div>
【问题讨论】:
标签: javascript data-binding knockout.js