koGrid 完全渲染后如何执行代码?
How do I execute code after koGrid completely renders?
我正在使用 kogrid。我想根据该列中的数据将工具提示应用于特定列中的每个单元格。我的问题是准确地找到 when/where 来放置我的工具提示 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 块中:
$(document).ajaxStop(function() {
$('[data-toggle="tooltip"]').tooltip();
}
但这是在 kogrid 呈现所有行之前调用的。
我已经求助于使用 setTimeout 并简单地延迟 X 毫秒,然后应用工具提示,这很有效,但感觉像是 hack。
$(document).ajaxStop(function() {
setTimeout(function() {
$('[data-toggle="tooltip"]').tooltip();
}, 10);
});
我也试过在将数据推送到视图模型后调用工具提示。
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 中,您应该只通过绑定处理程序与视图元素交互。 Knockout-Bootstrap 为 Bootstrap 小部件提供了许多绑定处理程序。
我正在使用 kogrid。我想根据该列中的数据将工具提示应用于特定列中的每个单元格。我的问题是准确地找到 when/where 来放置我的工具提示 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 块中:
$(document).ajaxStop(function() {
$('[data-toggle="tooltip"]').tooltip();
}
但这是在 kogrid 呈现所有行之前调用的。
我已经求助于使用 setTimeout 并简单地延迟 X 毫秒,然后应用工具提示,这很有效,但感觉像是 hack。
$(document).ajaxStop(function() {
setTimeout(function() {
$('[data-toggle="tooltip"]').tooltip();
}, 10);
});
我也试过在将数据推送到视图模型后调用工具提示。
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 中,您应该只通过绑定处理程序与视图元素交互。 Knockout-Bootstrap 为 Bootstrap 小部件提供了许多绑定处理程序。