今天发现手机百度客户端中普通的img标签点击动作会被跳转到图片链接,(这个问题是我们运营跟我讲的,不然我也没发现。)应该是手机百度APP抽风了。img标签也能给当成a标签。
由于我们的网站图片链接到电话,用户点击图片会弹出拨打电话弹窗,但这个过程在手机百度app中就会存在图片和电话弹窗同时跳转,非常影响用户体验。遂搜索然后解决。
方法就是给网站(或者文章内)的图片img加上css属性:pointer-events
在css中添加
img{ pointer-events: none; }
就可以啦。
那么同时我们顺便来学习一下这个pointer-events
语法none元素永远不会成为鼠标事件的target。
语法
pointer-events
属性被指定为从下面的值列表中选择的一个关键字。
值
auto
与pointer-events
属性未指定时的表现效果相同,对于SVG内容,该值与visiblePainted
效果相同none
元素永远不会成为鼠标事件的target。但是,当其后代元素的pointer-events
属性指定其他值时,鼠标事件可以指向后代元素,在这种情况下,鼠标事件将在捕获或冒泡阶段触发父元素的事件侦听器。visiblePainted
只适用于SVG。元素只有在以下情况才会成为鼠标事件的目标:
visibility
属性值为visible
,且鼠标指针在元素内部,且fill
属性指定了none
之外的值visibility
属性值为visible
,鼠标指针在元素边界上,且stroke
属性指定了none
之外的值
visibleFill
只适用于SVG。只有在元素visibility
属性值为visible
,且鼠标指针在元素内部时,元素才会成为鼠标事件的目标,fill
属性的值不影响事件处理。visibleStroke
只适用于SVG。只有在元素visibility
属性值为visible
,且鼠标指针在元素边界时,元素才会成为鼠标事件的目标,stroke
属性的值不影响事件处理。visible
只适用于SVG。只有在元素visibility
属性值为visible
,且鼠标指针在元素内部或边界时,元素才会成为鼠标事件的目标,fill
和stroke
属性的值不影响事件处理。painted
只适用于SVG。元素只有在以下情况才会成为鼠标事件的目标:
- 鼠标指针在元素内部,且
fill
属性指定了none
之外的值 - 鼠标指针在元素边界上,且
stroke
属性指定了none
之外的值
visibility
属性的值不影响事件处理。
fill
只适用于SVG。只有鼠标指针在元素内部时,元素才会成为鼠标事件的目标,fill
和visibility
属性的值不影响事件处理。stroke
只适用于SVG。只有鼠标指针在元素边界上时,元素才会成为鼠标事件的目标,stroke
和visibility
属性的值不影响事件处理。all
只适用于SVG。只有鼠标指针在元素内部或边界时,元素才会成为鼠标事件的目标,fill
、stroke
和visibility
属性的值不影响事件处理。