2013-03-07 8 views
6

私がしようとしているのは、DIVがスクロールされたときに関数を呼び出すことです。何も指定していません。また、私はChrome,Safari(IEではない)のようなDOM準拠のブラウザだけを見ています。Javascriptスクロールハンドラが起動しない

私の問題は、スクロールハンドラが決して呼び出されないことです。 scrollclickに置き換えると、クリックすると機能します。何とかスクロールが動作していません。

注意してください:私はここでjQuery :(

を使用することはできませんが、私のコードです:

HTML:

<div id="test">--long content--</div> 

JS:

function myFunc() { 
     console.log('in myFunc'); 
    } 
    var objTable = document.getElementById("test"); 

    objTable.addEventListener("scroll", function() { 
     myFunc(); 
    }, false); 

FIDDLE:ウィンドウはdiv要素をスクロールされていないので、これがある

http://jsfiddle.net/yymg5/7/

答えて

11

。要素リスナをthisのようにdivの親(この場合はウィンドウ)に変更してみてください。

window.addEventListener("scroll", function() { 
    myFunc(); 
}, false); 
+0

ありがとうございます。オーバーフロー属性をDIVに追加し、いくつかのcontent.Nowを追加しました.DIVオブジェクトでも機能します。フィドルを更新しました。 –

+1

匿名関数は不要です。 myFuncを一次関数として渡すことができます: window.addEventListener( 'scroll'、myFunc、false); – bean

関連する問題