gpt4 book ai didi

javascript - koGrid完全渲染后如何执行代码?

转载 作者:行者123 更新时间:2023-12-03 09:10:50 26 4
gpt4 key购买 nike

我正在与 kogrid 合作。我想根据该列中的数据将工具提示应用于特定列中的每个单元格。我的问题是准确找到放置工具提示 jquery 的时间/位置:

$('[data-toggle="tooltip"]').tooltip();

我使用的 colDef 是:

var myCol = {
headerClass: 'koGridCentered',
displayName: 'My Display',
field: 'RootError',
cellTemplate: '<div style="margin-top: 3px;" >' +
'<div data-bind=" attr: { \'class\': \'kgCellText colt\' + $index() }">' +
'<a href="#" data-toggle="tooltip" data-bind=" attr: { \'title\': $data.getProperty($parent) }, html: $data.getProperty($parent)"></a>' +
'</div>' +
'</div>',
sortable: true, resizeable: true
}

数据是从 ajax 请求返回的。我尝试将 jquery 放入 axaxStop block 中:

$(document).ajaxStop(function() {
$('[data-toggle="tooltip"]').tooltip();
}

但是这是在 kogrid 渲染所有行之前调用的。

我已经求助于使用 setTimeout 并简单地延迟 X 毫秒,然后应用工具提示,这可行,但感觉就像黑客。

$(document).ajaxStop(function() {
setTimeout(function() {
$('[data-toggle="tooltip"]').tooltip();
}, 10);
});

我还尝试在将数据推送到 View 模型后调用工具提示。

for (var i = 1; i < data.length; ++i) {
_this.SharedViewModel.MyCollection.push(ko.mapping.fromJS(data[i]));
}
$('[data-toggle="tooltip"]').tooltip();

这最终会将工具提示应用于前大约 7 行,而不是剩余的行。

我真正寻找的是一种访问网格完全渲染时触发的 kogrid 事件的方法。我已经搜索过这个但没有找到任何结果,所以我向社区询问。

我注意到另一个小问题,那就是我的工具提示隐藏在其上方的 kogrid 单元格下方。但这是次要的,我希望用 z-index 来解决。

最佳答案

在 Knockout 中,您应该仅通过绑定(bind)处理程序与 View 元素交互。 Knockout-Bootstrap为 Bootstrap 小部件提供许多绑定(bind)处理程序。

关于javascript - koGrid完全渲染后如何执行代码?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32073592/

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