我正在使用当前代码:
$('body').mousedown(function() {
$('div#extras').fadeTo('fast', 1);
});
$('body').mouseup(function() {
$('div#extras').delay(2000).fadeTo(1500, 0);
});
这在 safari 中效果很好,但是当我上传它并在 ipad 上查看它时它不起作用?
我正在使用当前代码:
$('body').mousedown(function() {
$('div#extras').fadeTo('fast', 1);
});
$('body').mouseup(function() {
$('div#extras').delay(2000).fadeTo(1500, 0);
});
这在 safari 中效果很好,但是当我上传它并在 ipad 上查看它时它不起作用?
对于感兴趣的人,我发现了如何为 ipad 执行此操作:
而不是我在我的问题中使用的代码,你会使用:
$('body').bind( "touchstart", function(e){
$('div#extras').fadeTo('fast', 1);
});
&
$('body').bind( "touchend", function(e){
$('div#extras').delay(2000).fadeTo(1500, 0);
});
不完全是。
引用:
可点击元素是链接、表单元素、图像地图区域或具有 mousemove、mousedown、mouseup或 onclick 处理程序的任何其他元素。可滚动元素是具有适当溢出样式、文本区域和可滚动 iframe 元素的任何元素。由于这些差异,您可能需要将一些元素更改为可点击元素,如“<a href="https://developer.apple.com/library/archive/documentation/AppleApplications/Reference/SafariWebContent/HandlingEvents 中所述/HandlingEvents.html#//apple_ref/doc/uid/TP40006511-SW6" rel="nofollow noreferrer">使元素可点击,”以在 iPhone OS 中获得所需的行为。
(强调我的)
没有真正回答您的问题,但对于来这里只是为了寻找“ipad 上的 jQuery mousedown/mouseup”的人可能会很方便
我总是使用这个小技巧:
$(element).hover(function() {
// Do something
});
这在使用 iPad 时触发触摸,并在单击元素外部时反转操作,因为它是悬停事件。例如:
// Assuming the element has 'opacity: 0' in CSS
$(element).hover(function() {
$(this).animate({'opacity': 1}, 200);
});
在“点击”时创建淡入效果,在“鼠标上”时创建淡出效果。
旧帖子,但有通用解决方案:
$('body').on('mousedown touchstart',function(e){
$('div#extras').fadeTo('fast', 1);
});
$('body').on('mouseup touchend',function(e){
$('div#extras').delay(2000).fadeTo(1500, 0);
});
你会注意到我使用mousedown
withtouchstart
和mouseup
with touchend
。这涵盖了移动和桌面使用。