2016-09-14 5 views
0

dragmoveイベントから座標を追跡する必要がありますが、何らかの理由でこれがFirefoxで正しく動作しません。私。 evt.pageXおよびevt.pageYは常にゼロです。dragmoveイベントはFirefoxとReactで動作します

render(){ 
    return (<div draggable={true} onDragMove={this.handleDragMove} onDragStart={this.handleDragStart} /> 
} 
handleDragStart(evt){ 
    console.log(evt);//this works 
    evt.dataTransfer.setDragImage(new Image(),-999999999999,-999999999999); 
    evt.dataTransfer.setData('text/plain', 'oh ffs firefox'); //dragmove events wont get triggered at all without this 
} 
handleDragMove(evt){ 
    console.log(evt);//these get triggered 
    console.log(evt.pageX+" "+evt.pageY);//always zero 
} 

私はUbuntuの16.04上のFirefox 47を使用しています(ただし、明らかにそれは〜上のFirefoxのすべてのバージョンを作業する必要があります)。

+1

「正しく動作しない」とはどういう意味ですか?エラー、症状は何ですか?より具体的にしてください。 – Tim

+0

console.log(evt.pageX + "" + evt.pageY); //常にゼロ – Seppo420

答えて

0

私の場合、ドラッグするコンポーネントが非常に大きいので、onDragOver={this.handleDragMove}を設定してこの問題を回避でき、ondragoverイベントは座標を提供するように見えます。

関連する問題