问题描述
- 通过Ajax异步获取城市信息,在回调方法中处理完字符串后append到指定容器里,绑定click事件
- 在chrome模拟移动端中按正确期望执行
- 在真机iphone6中确没有达到预期效果,原因在哪里呢?见下面分析。
问题代码
1 | <html> |
分析
方案一:CSS
1 | <style> |
1 | /iP/i.test(navigator.userAgent) && $('*').css('cursor', 'pointer'); |
- 原因就是里面说的:因为div,li等标签都是不可点击的标签,而a标签是clickable的标签。
It's important to realize that if you're just using <a> tags everything will work as expected. You can click or drag by mistake on a regular <a> link on an iPhone and everything behaves as the user would expect.
大意就是如果你用a标签做容器,那么就没有问题,你可以执行拖拽、点击行为,一切将如你所愿。
方案二:定义touch事件
1 | $(document).ready(function () { |