【问题标题】:iPad - touchStart() event blocked by div textiPad - touchStart() 事件被 div 文本阻止
【发布时间】:2011-07-09 22:35:13
【问题描述】:
我有一个触发 touchStart 事件的 div:
<div class="button" ontouchstart="touchStart(event)"> button</div>
当我的手指落在div内的文本按钮上时,事件不会被触发,div事件表面上的其他任何地方都会被触发,我怎样才能让它在我触摸文本时也触发?
【问题讨论】:
标签:
javascript
ios
dom
dom-events
touch-event
【解决方案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;
}