6

ReactJS と JSDOM でスクロール イベントをシミュレートしようとしています。

最初に私は次のことを試しました:

var footer = TestUtils.findRenderedDOMComponentWithClass(Component, 'footer');
footer.scrollTop = 500;
TestUtils.Simulate.scroll(footer.getDOMNode());
//I tried this as well, but no luck
//TestUtils.Simulate.scroll(footer);

スクロール イベントはまったく伝播されません。次に、イベントを手動で作成しましたが、すべて正常に機能しました。

var evt = document.createEvent("HTMLEvents");
evt.initEvent("scroll", false, true);
element.dispatchEvent(evt);

質問: TestUtils に何か問題がありますか? どうすればそれを機能させることができますか?

4

2 に答える 2

3

thisthisから判断すると、 TestUtils は を介し​​てスクロールをシミュレートしていると思います。つまり、スクロールする距離を知るにWheelEventはパラメーターが必要です。deltaYそれは次のようになります。

TestUtils.Simulate.scroll(footer.getDOMNode(), { deltaY: 500 });
于 2015-05-08T19:46:25.247 に答える