当使用委托给一个元素添加click事件时,如果事件是委托到 document或者body上,并且委托的元素是默认不可点击的(如 div,span等),此时click事件会失效。
解决办法
解决办法有4种可供选择:
1、将click事件直接绑定到目标元素(即 .target)上。
2、将目标元素换成<a>或者button等可点击的元素。
3、将click事件委托到非document或body的父级元素上。
4、给目标元素加一条样式规则cursor:pointer;
推荐后两种,从解决办法来看,推测在safari中,不可点击的元素的点击事件不会冒泡到父级元素。通过添加cursor:pointer使得元素变成可点击的了。
网友评论