0

我在鼠标悬停和单击事件方面遇到问题。它适用于桌面/笔记本电脑网络浏览器,但不适用于 iPhone 的 Safari。这是代码:

<script type="text/javascript">
function tog(v){return v?'addClass':'removeClass';} 
$(document).on('input', '.clearable', function(){
$(this)[tog(this.value)]('x');
}).on('mousemove', '.x', function( e ){
$(this)[tog(this.offsetWidth-100 < e.clientX-this.getBoundingClientRect().left)]('onX');   
}).on('click', '.onX', function(){
$(this).removeClass('x onX').val('');
});
</script>

X 是出现在每个搜索字段中的清晰图标,但我无法在 iPhone 上“单击”它。替换 touchmove 的 'mousemove' 不起作用。不幸的是,我无法适应任何 jQuery Mobile 插件,我是一个菜鸟编码。谢谢!快乐你好'

4

2 回答 2

2

你必须使用touchstartand touchmovefor iphone

于 2013-11-01T22:33:49.603 回答
0

如上所述,iphone 浏览器 safari 没有鼠标,因此您需要使用 touchstart 和 touchmove 事件。

看看这个。注意 firefox mobile 和 safari 以类似的方式处理触摸,MDN 文档比 w3c 文档更有帮助

https://developer.mozilla.org/en-US/docs/Web/Guide/API/DOM/Events/Touch_events

和 W3c 文档:

http://www.w3.org/TR/2013/REC-touch-events-20131010/

于 2013-11-01T22:39:14.497 回答