2

I have this sliding down header which slides down when it is pressed.

DEMO: http://jsfiddle.net/ygAV2/2/

$(document).on("click", 'h1', function() {
    if (!$(this).parent().hasClass('header-down')) {
        $(this).parent().stop().animate({
            height: '100px'
        }, {
            queue: false,
            duration: 600,
            easing: 'linear'
        }).addClass('header-down');
    } else {
        $(this).parent().stop().animate({
            height: '30px'
        }, {
            queue: false,
            duration: 600,
            easing: 'linear'
        }).removeClass('header-down');
    }
});



$(document).click(function () {
    if ($(".box_header").hasClass('header-down')) {
        $(".box_header").stop().animate({
            height: '30px'
        }, {
            queue: false,
            duration: 600,
            easing: 'linear'
        }).removeClass('header-down');
    }
});

$(document).on("click", ".box_header", function (e) {
    e.stopPropagation(); // This is the preferred method.
    // This should not be used unless you do not want
    // any click events registering inside the div
});

The header and the "delete me" button works okay on a computer, but doesn't work on my iPhone and iPad, has any one tried this before?

4

3 に答える 3

0

これを試してください(うまくいくはずです、iOSシミュレーターで試してみました-デバイスが存在しません):

$('h1').on('click touchstart', function() {
    // ... your code 
});
于 2013-03-07T14:39:48.313 に答える
0

これが古い投稿であることは知っていますが、対応するレイヤーが実際に html ボタンでない限り、Mac OS と iOS ではクリック操作を許可しないことがわかりました。

先週サイトを構築したとき、Windows と Android デバイスではスパンを使用してモバイル メニューを切り替えることができましたが、Mac OS と iOS ではメニューを切り替えることができませんでした。

2番目にレイヤーを実際のhtmlボタンに変更すると、うまくいきました!

そのためのAppleのFacepalm!

于 2015-09-09T06:04:07.743 に答える
-1

または.live()の代わりに使用してみてください:.on.click

$('h1').live('click', function() {
    // your code goes here...
});
于 2013-03-07T14:25:20.507 に答える