首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >获取元素绑定

获取元素绑定
EN

Stack Overflow用户
提问于 2014-01-17 14:39:21
回答 1查看 226关注 0票数 1

给定一个HTML元素,如何确定对其应用了哪些绑定?

我可以用bindingContext和viewModel来确定ko.dataFor(elem)ko.contextFor(elem)。是否有类似的东西会给我附加在元素上的绑定列表?

目前,我不得不使用jQuery来找出与元素绑定的内容:

代码语言:javascript
复制
var bindings = $(element).data("bind");

然后,我必须手动拆分,以获得用于评估的键/值对,这显然令人讨厌。

代码语言:javascript
复制
    bindings= bindings.split(",");

 $.each(bindings, function (index, value) {
    var parts = value.split(":");
    value = parts[1].trim().replace("()", "");

    var observableToUpdate = koElement;
    var propertyParts = value.split(".");

    // The valueAccessor has dots in it? 
    // Let's find the end of this piece of string
    $.each(propertyParts, function (ind, val) {
        observableToUpdate = observableToUpdate[val];
    });
}
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-01-17 15:13:39

如果有元素和绑定上下文的引用,那么可以使用ko.bindingProvidergetBindings方法来获得附加的绑定对象。

您可以通过bindingProvider属性访问当前的ko.bindingProvider.instance

代码语言:javascript
复制
var context = ko.contextFor(element);
var bindings = ko.bindingProvider.instance.getBindings(element, context);

演示JSFiddle

您可以在这里阅读更多关于bindingProviders的信息:KO 1.3预览第2部分:自定义绑定提供程序

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21188479

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档