当使用委托给一个元素添加click事件时,如果事件是委托到 document 或 body 上,并且委托的元素是默认不可点击的(如 div, span 等),此时 click 事件会失效。
解决办法有 4 种可供选择:
?1、将 click 事件直接绑定到目标?元素(??即 .target)上
2、将目标?元素换成a或者 button 等可点击的?元素
?3、将 click 事件委托到?????非 document 或 body 的??父级元素上
?4、给?目标元素加一条样式规则 cursor: pointer;
?推荐后两种。从解决办法来看,?推测在 safari 中,不可点击的元素的点击事件不会冒泡到父级元素。通过添加 cursor: pointer 使得元素变成了可点击的了。
原因是:Safari不希望不可点击的元素可点击。
这里有详细的回答 HTML label command doesn’t work in Iphone browser
时间: 2024-11-06 03:11:20