如何在IE10 +

时间:2015-12-14 10:45:21

标签: javascript css javascript-events scrollbar

我有一个位于div中的Leaflet地图,以及一个位于其上方的图层列表。图层列表通常很长,并且由于溢出的css属性而显示滚动条:正在设置滚动条。

如果您点击滚动条上的任何位置,则拖动不会被提升到下面的地图,但是如果您单击并拖动滚动条,它会传播到地图并开始拖动。

这仅适用于IE10 +,它可以在Firefox,Chrome等中正常使用。

如何防止此行为?

1 个答案:

答案 0 :(得分:0)

我应该阅读有关Leaflet的更多信息。我发现Leaflet劫持了所有事件处理并实现了自己的事件模型。正常的stopPropagation,window.event.cancelBubble或你不会工作的东西。

你必须使用Leaflet自己的处理程序:

render(): ReactElement {
var circles = this.state.keys.map((key, idx) => {
//code omitted
}

 return (
      <View style={{flex: 1, flexDirection: 'column'}}>
        <View style={[{flex: 1, overflow: 'hidden', margin: 5, marginTop: 20},  ]}>
          <View style={styles.left} onLayout={(e) => this.setState({layout: e.nativeEvent.layout})}>
                {circles}
                </View>}
              </View>
            </View>
)

原因是我的菜单元素是作为Leaflet控件创建的:

L.DomEvent.disableClickPropagation(leafletMenu);