Javascript 鼠标悬停时延迟加载绑定

Javascript 鼠标悬停时延迟加载绑定,javascript,jquery,knockout.js,lazy-loading,lazy-initialization,Javascript,Jquery,Knockout.js,Lazy Loading,Lazy Initialization,我在一个类似HTML Excel的大型网格中的每个单元格上使用以下绑定。现在我绑定到每个单元格,是否有一种方法可以做到这一点,将鼠标悬停在某个延迟上,使每个单元格不需要激活它?如果鼠标在单元格上停留2秒钟,工具提示绑定将激活并显示。此工具提示是引导工具提示 ko.bindingHandlers.tooltip = { init: function (element, valueAccessor) { $(element).tooltip();

我在一个类似HTML Excel的大型网格中的每个单元格上使用以下绑定。现在我绑定到每个单元格,是否有一种方法可以做到这一点,将鼠标悬停在某个延迟上,使每个单元格不需要激活它?如果鼠标在单元格上停留2秒钟,工具提示绑定将激活并显示。此工具提示是引导工具提示

 ko.bindingHandlers.tooltip = {
        init: function (element, valueAccessor) {
            $(element).tooltip();

            ko.utils.domNodeDisposal.addDisposeCallback(element, function () {
                $(element).tooltip("destroy");
            });
        }
    };

您可以在cells容器上添加单个事件处理程序,而不是为每个单元格添加一个事件处理程序。考虑到加价


您可以使用此绑定:

ko.bindingHandlers.tooltipContainer={
init:函数(元素、值访问器){
$(元素).on('hover','.cell',function(){
$(this.tooltip();
});
ko.utils.domNodeDisposal.addDisposeCallback(元素,函数(){
$(元素)。工具提示(“销毁”);
});
}
};
如果要在顶部添加超时,请执行以下操作

ko.bindingHandlers.tooltipContainer={
init:函数(元素、值访问器){
$(元素).on('hover','.cell',function(){
变量$this=$(this),
callback=function(){$this.tooltip();};
setTimeout(回调,2000);
});
ko.utils.domNodeDisposal.addDisposeCallback(元素,函数(){
$(元素)。工具提示(“销毁”);
});
}
};

应该有用。

我现在没有时间给出完整的答案,但您可以捕获鼠标输入事件,触发setTimeout,如果它在x毫秒后仍悬停,则显示工具提示。