我将添加动态DOM元素(在Ajax调用之后收集数据),如下所示。我已经将代码缩小到我认为最重要的范围:
if (in.peek() != '/')
{
obj = Rational(top);
cout << "Bad input format for operator >>. Aborting!" << endl;
exit(1);
}
编辑:我的代码正在与第三方模板交互,在阅读答复后,我能够找到处理“点击事件”的文件。但是,基于上面显示的我自己的代码,我不确定如何调整模板代码以与动态附加的DOM一起使用。
这是处理点击的模板代码:(我可以看到'menuItemClick'函数是可能在此处理的地方,但是我如何基于此处应用'.on('',function())'调整该文件的写入方式?)
<!-- SideMenu HTML -->
<div id="sidebar-menu">
<ul id="folders">
<!-- AJAX DATA POPULATES MENU HERE -->
<!-- HTML File calling JS function -->
<script>
$(document).ready(function() {
getParentFolders('parentFolderTitle');
});
</script>
// JS File function...
var parentFolders; // Values retrieved from AJAX calls
function buildFolderMenu(index) {
var markup = '<li class="has_sub">' +
'<a ... > parentFolders[index].Name + '</a>' +
'<ul ...>' +
'<li> SUB FOLDER TEST <li>' +
'</ul>' +
'</li>';
$(#folders').append(markup);
}
答案 0 :(得分:0)
这可能是因为在操作DOM之后,redraw事件未在浏览器上隐式触发。请参阅这篇文章,了解如何重绘,以便在UI上刷新您生成的DOM
Force DOM redraw/refresh on Chrome/Mac
如果这不起作用,请共享您的CSS以及DOM之前和之后的DOM生成屏幕截图