我使用的是Sharepoint开发者。在页面内我有自定义的JQuery代码,工作正常。但是,当我添加$(窗口).scroll时,它不会触发。
function TTNListScroll()
{
var bestaatDiv = document.getElementById("header-fixed");
if(bestaatDiv ==null){
alert("mag maar 1 keer komen");
var head = document.getElementsByTagName("thead");
TTNmyTable = head[0].parentNode;
TTNmyTable.id="table-1";
var parent = TTNmyTable.parentNode;
parent.removeChild(TTNmyTable);
parent.appendChild(TTNmyTable);
var newTable=document.createElement("table");
newTable.id="header-fixed";
parent.appendChild(newTable);
var tableOffset = $("#table-1").offset().top;
var $header = $("#table-1 > thead").clone();
var $fixedHeader = $("#header-fixed").append($header);
$(window).scroll(function() {
alert('a');
});
alert($._data(window).events.scroll);
alert($(window).height());
}
}
该函数在document.ready中定义 我的目标是在向下滚动时冻结表头。
如果有人有任何想法,他们会受到好评。
由于
答案 0 :(得分:7)
TTNListScroll
会被调用吗?你定义了这个函数,但看起来你没有调用它,所以事件不会被绑定。
或者,尝试将滚动事件绑定到'html, body'
而不是window
,如下所示:
$('html, body').scroll(function() { ... });
最后但并非最不重要的是,您可以尝试直接绑定不同的滚动事件。 jQuery应该处理这个问题,但也许它不正确:
$('html, body').bind('DOMMouseScroll MouseScrollEvent MozMousePixelScroll wheel scroll', function() { your code });
答案 1 :(得分:4)
我有同样的问题,原因是这个css存在冲突,一旦我删除了这个css中的溢出,就可以了。
html,body {
height:100%;
overflow-x: hidden;
}