加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

twitter-bootstrap – Bootstrap的工具提示不能与敲除绑定一起使

发布时间:2020-12-18 00:09:55 所属栏目:安全 来源:网络整理
导读:小提琴: http://jsfiddle.net/LkqTU/9399/ 码: var ViewModel = function (first,last) { var self = this; self.showIcon = ko.observable(false); self.triggerIcon = function () { self.showIcon(true); };};$('.card-delete-button').tooltip({ 'plac
小提琴: http://jsfiddle.net/LkqTU/9399/

码:

var ViewModel = function (first,last) {
    var self = this;
    self.showIcon = ko.observable(false);
    self.triggerIcon = function () {
        self.showIcon(true);
    };
};
$('.card-delete-button').tooltip({
    'placement': 'top','title': 'Text'
});
ko.applyBindings(new ViewModel("Planet","Earth"));

由于某些原因,“.card-delete-button”不显示工具提示。我认为这是因为在触发器触发功能被触发之前DOM元素是不可用的。但在应用程序中,我必须将这些工具提示绑定到很多不同的元素,并且宁愿在一个地方执行一次,而不是将绑定粘贴到triggerIcon函数中。这怎么可以实现?

解决方法

在这种情况下,您最好的打算是创建一个自定义绑定,您可以使用该功能将工具提示放在标记中的任何位置。

这是一个工具提示绑定的一个实现:

ko.bindingHandlers.tooltip = {
    init: function(element,valueAccessor) {
        var local = ko.utils.unwrapObservable(valueAccessor()),options = {};

        ko.utils.extend(options,ko.bindingHandlers.tooltip.options);
        ko.utils.extend(options,local);

        $(element).tooltip(options);

        ko.utils.domNodeDisposal.addDisposeCallback(element,function() {
            $(element).tooltip("destroy");
        });
    },options: {
        placement: "right",trigger: "click"
    }
};

然后,您可以在您的页面上使用此绑定,如:

<input data-bind="value: name,tooltip: { title: help,trigger: 'hover' }" />

您可以全局设置选项,然后用任何传入绑定的方式覆盖它们。

当您进入模板和控制流情况时,使用自定义绑定真的有帮助,因为它将在正确的时间自动初始化(并清理),而无需手动知道何时调用代码。

这里有一个例子:http://jsfiddle.net/rniemeyer/BF5yW/

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读