下記のコードはFirefoxブラウザで正常に動作しています。しかし、クロムではない。以下のコードの問題は何ですか?Chromeでオンスクリーン機能が動作しません
document.onscroll = function() { console.log('Works in Chrome!'); };
下記のコードはFirefoxブラウザで正常に動作しています。しかし、クロムではない。以下のコードの問題は何ですか?Chromeでオンスクリーン機能が動作しません
document.onscroll = function() { console.log('Works in Chrome!'); };
を、 onscrollハンドラとして使用します。
この関数を実行したくない場合、その関数に参照を割り当てたいとします。
さらに、document
またはdocument.body
ではなく、window
オブジェクトでは、ドキュメント全体のオンスクリーン表示がブラウザ間で優れているようです。
window.onscroll = Test.callFn;
-1 Chromeで動作しません –
Chromeで動作します。新しいタブ(CTRL + T)を開き、開発ツール(SHIFT + CTRL + I)を開き、上記コードスニペットをコピー/ペーストしてウィンドウをスクロールします。コンソールに表示されます。 –
あなたは深刻なことはできません。単にChromeで動作します。 –
あなたがcallFn
を割り当てるしているときは、()
を望んでいない:あなたはdocument.onscroll
イベントにイベントハンドラをアタッチ場合、それは動作します
window.onload = function()
{
document.body.onscroll = Test.callFn;
}
var Test = new function()
{
this.callFn = function()
{
console.log("Calling this function");
}
}
Chromeのおかげ
こんにちは、私の誤植で申し訳ありません。最初は、上記の形式の関数を呼び出しました。しかし、それはクロムだけでは機能しません。 – sprabhakaran
今日も同様の問題がありました。 html
要素がonscroll
属性を持っているとき、それはonscroll
イベントを割り当てるのがベストですので、私はbody
要素がonscroll
属性を持つ場合、クロムにonscroll
イベントが動作していることに気づいた
window.onload = function()
{
window.onscroll = function()
{
console.log("Calling this function");
}
}
が、IEでそれが働いています:document.body
window
するには、変更することができますリスナーからwindow
オブジェクトです。
PS。スクロールしたピクセル数を確認する場合は、document.body.scrollTop
の代わりにwindow.pageYOffset
を使用します(前述のクロムとIEと同じ状況)。
可能性の1つは、あなたのページに2つのwindow.onscroll
ステートメントがあり、それぞれのステートメントが異なるJSメソッドを呼び出すことです。インクルードファイルとページロード中のすべてのメソッドを確認してください。
あなたの体の 'overflow'プロパティは何に設定されていますか? –