1

CSS「オーバーフロー:スクロール」プロパティを持つdivがあります。jQuery メソッド html を介して新しいコンテンツを挿入すると、スクロール イベントが発生します。それはなぜですか、どうすればそれを防ぐことができますか? 私は実際にスクロールしていないので、挿入するだけです...

http://jsfiddle.net/qWckG/

4

2 に答える 2

2

スクロール位置が 100 から 0 に変わるため、(正しく) 起動します。

次のような醜い回避策を試すことができます。

http://jsfiddle.net/qWckG/3/

于 2012-06-10T20:00:31.400 に答える
1

上記の状態のような回避策は必要ありません。これが機能しない理由は、レイアウトをどのように作成したかによるものです。「jau」を挿入すると、ラップされている800px divが削除されます。これにより、テキストだけに置き換えると、divがなくなり、高さがリセットされます。容器。これにより、スクロールバーが消え、'scroll'メソッドが呼び出されます。

次のいずれかを行う必要があります。

ラップjauイン<div> jau </div>、または:

$('#scrollWrapper').unbind('scroll');
$('#scrollWrapper').html('jau', function(){
  //rebind the scroll in the callback.
  $('#scrollWrapper').on('scroll', function(){
    alert("we have scrolled");
  });
});
于 2012-06-10T20:04:46.737 に答える