gpt4 book ai didi

jquery - 如何在 Knockoutjs 中获取绑定(bind)到模型的元素

转载 作者:行者123 更新时间:2023-12-01 07:26:54 26 4
gpt4 key购买 nike

我想添加一个产品,找到节点并让它闪烁

products = observableArray([]);

new_product = new Product();
products.push(new_product);
$("tr", new_product.elements).flash();

我尝试使用 afterAdd 但每次我添加内容时它都会闪烁。我只需要使用我的添加功能之一进行闪烁。添加的其他函数不应闪烁该元素。

注意:flash 是自定义 JQuery 函数

最佳答案

由于可观察对象可以绑定(bind)到多个元素,因此最好的选择是以自定义绑定(bind)的形式从元素中真正获取它。

最简单的是,您可以使用如下绑定(bind):

ko.bindingHandlers.flash = {
init: function(element) {
$(element).flash();
}
};

在您的元素上使用它,例如:<li data-bind="flash: true"></li> 。在这种情况下,传递给绑定(bind)的内容并不重要。

这是一个示例:http://jsfiddle.net/rniemeyer/Exmvh/

您当然可以将选项传递给您的绑定(bind),例如:

ko.bindingHandlers.flash = {
init: function(element, valueAccessor) {
var duration = ko.utils.unwrapObservable(valueAccessor());
$(element).hide().flash(duration);
}
};

并像这样使用它:<li data-bind="flash: 500"></li>或使用可观察的来控制持续时间:<li data-bind="flash: selectedDuration"></li>

这是一个示例:http://jsfiddle.net/rniemeyer/Exmvh/1/

关于jquery - 如何在 Knockoutjs 中获取绑定(bind)到模型的元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8911544/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com