Dragstart事件在Firefox中的行为有所不同

时间:2018-02-14 18:18:33

标签: javascript jquery html events preventdefault

我需要处理df <- data.frame( y=rpois(100, 4) ) ggplot(df, aes(sample=y)) + stat_qq() + geom_abline(intercept=mean(df$y), slope = sd(df$y)) 事件并避免dragstart事件(因为它有另一个处理程序)。这在Chrome和Safari中运行良好,但在Firefox中它也会激活click事件。这是我的代码:

HTML:

click

JS:

Drag and release the circle:<br>
<a href="#">
  <img src="data:image/svg+xml;utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20%3E%3Ccircle%20cx%3D%2264%22%20cy%3D%2264%22%20r%3D%2264%22%20style%3D%22fill%3A%2300ccff%3B%22%3E%3C%2Fcircle%3E%3C%2Fsvg%3E">
</a>

Codepen: here

注意:当你还在图片上时,你必须停止拖动。

更清楚一点:我正在制作一个滑块,在$(function() { $(document).on('dragstart', function(e) { console.log('dragstart'); e.preventDefault(); }); $('img').on('click', function(e) { console.log('img click'); }); $('a').click(function(e){ console.log('a click'); }) }); 事件中我会查找鼠标移动方向,这就是为什么我设置dragstart - 所以图像赢了&被拖拽。然后我在必要的方向上进行计算和动画。此滑块中的图片具有preventDefault事件处理程序,以显示更大的图片,这就是为什么我在click之后不需要此额外点击事件。

那么如何在Firefox中避免这个dragstart事件?

0 个答案:

没有答案