我不熟悉最终开发,不幸的是有一些问题需要调用JavaScript函数。
我有以下功能:
<script type="text/javascript">
$(document).ready(function () {
$("#table_div").scroll(function () {
alert("test successful");
jQuery('#divHeader').scrollLeft(jQuery('#table_div').scrollLeft());
jQuery('#firstcol').scrollTop(jQuery('#table_div').scrollTop());
jQuery('#lastcol').scrollTop(jQuery('#table_div').scrollTop());
});
});
</script>
和HTML定义为:
<div id="divHeader" class="firstpanel">
<div id="firstcol" class="firstcolumn">
<div id="table_div" class="contentpanel">
的样式为:
.contentpanel {
overflow: scroll;
width: 300px;
height: 500px;
position: relative;
}
.firstpanel {
overflow: hidden;
width: 284px;
}
.firstcolumn {
overflow: hidden;
height: 500px;
}
我遇到了问题,因为当我调试我的应用程序时,我的JavaScript函数中的“警报”没有被触发。我已经在JSFiddle中用exacly相同的代码进行了测试,并且它工作得非常好,因为一旦我开始滚动我的div,就会调用alert函数。
我在我的应用程序中使用JQuery 1.5.1并且更愿意阻止在JQuery中使用更新的版本。在这种情况下,JQuery版本是问题吗?。
答案 0 :(得分:1)
当元素未由DOM呈现时,您正在附加事件。您应该将该代码包装在$(document).ready()
中或使用委托事件:
$(document).on('scroll', "#table_div", function () {
// code
});