在jquery中mousedown / mouseup为ipad工作吗?

时间:2010-07-21 20:20:33

标签: jquery ipad onmousedown

我正在使用当前代码:

$('body').mousedown(function() {
        $('div#extras').fadeTo('fast', 1);
});

$('body').mouseup(function() {
        $('div#extras').delay(2000).fadeTo(1500, 0);
});

这在safari中效果很好但是当我上传并在ipad上查看它时它不起作用?

4 个答案:

答案 0 :(得分:84)

我发现如何为感兴趣的人提供ipad:

而不是我在我的问题中使用的代码,你会使用:

$('body').bind( "touchstart", function(e){
        $('div#extras').fadeTo('fast', 1);
});

&安培;

$('body').bind( "touchend", function(e){
        $('div#extras').delay(2000).fadeTo(1500, 0);
});

答案 1 :(得分:7)

不完全是。

Apple Docs

引用:

  

可点击元素是链接,表单元素,图像映射区域或任何其他元素   mousemove, mousedown mouseup 或onclick处理程序。可滚动元素是任何元素   具有适当溢出样式,文本区域和可滚动iframe元素的元素。   由于存在这些差异,您可能需要将一些元素更改为   可点击的元素,如“Making Elements Clickable”中所述,以获得所需的元素   iPhone OS中的行为。

(强调我的)

答案 2 :(得分:6)

并没有真正回答你的问题,但对于那些来到这里寻找jpad mousedown / mouseup on ipad'

的人来说可能会很方便

我总是使用这个小技巧:

$(element).hover(function() {
   // Do something
});

这会在使用iPad 时触发,并在点击元素外部时反转动作,因为它是悬停事件。例如:

// Assuming the element has 'opacity: 0' in CSS

$(element).hover(function() {
   $(this).animate({'opacity': 1}, 200);
});

创建淡出效果'点击'以及淡出效果' on mouseup'。

答案 3 :(得分:1)

旧帖但有通用解决方案:

$('body').on('mousedown touchstart',function(e){
    $('div#extras').fadeTo('fast', 1);
});
$('body').on('mouseup touchend',function(e){
    $('div#extras').delay(2000).fadeTo(1500, 0);
});