iPad - touchStart() 事件被 div 文本阻止

Posted

技术标签:

【中文标题】iPad - touchStart() 事件被 div 文本阻止【英文标题】:iPad - touchStart() event blocked by div text 【发布时间】:2011-07-09 22:35:13 【问题描述】:

我有一个触发 touchStart 事件的 div:

<div class="button" ontouchstart="touchStart(event)"> button</div>

当我的手指落在div内的文本按钮上时,事件不会被触发,div事件表面上的其他任何地方都会被触发,我怎样才能让它在我触摸文本时也触发?

【问题讨论】:

【参考方案1】:

如果您知道 div 的大小,那么您可以使用 ontouchstart 事件在文本上方添加一个透明 div。

<div class="buttoncontainer">
    <div class="button"> button</div>
    <div  ontouchstart="touchStart(event)" class="somethingrelative"></div>
</div>

buttoncontainer 和相关的东西有助于定位。

【讨论】:

【参考方案2】:

您还可以将文本放在另一个元素中,例如跨度,并使其对事件无反应:

.button span   
    pointer-events: none;

【讨论】:

以上是关于iPad - touchStart() 事件被 div 文本阻止的主要内容,如果未能解决你的问题,请参考以下文章