#javascript #jquery #iphone #touch #slide
#javascript #jquery #iPhone #касание #слайд
Вопрос:
Я пытаюсь создать скользящий флажок, подобный тому, что установлен на iphone.
Я начал с этого скрипта:
$('input[type=checkbox]').live('touchstart', function (e) {
down_x = e.originalEvent.touches[0].pageX;
$('input[type=checkbox]').live('touchmove', function (e) {up_x = e.originalEvent.touches[0].pageX;
if ((down_x - up_x) > 1) {$(this).change()}});
});
Но, похоже, это не работает. Есть идеи о том, как это реализовать?
Ответ №1:
это была забавная маленькая проблема
У меня все работает просто отлично, это работает даже с мышью 🙂
Я протестировал это на своих Ipad и Iphone, и это довольно круто.
не потребовалось бы много усилий, чтобы превратить это в плагин, но у вас это должно работать просто отлично
хитрость работы с мобильными событиями ios заключается в этих трех событиях
$('.toggle_box').bind('touchstart',touch_start);
$('.toggle_box').bind('touchmove',touch_move);
$('.toggle_box').bind('touchend',slide_end);
Комментарии:
1. ха, без проблем, на самом деле это было довольно весело, думаю, я напишу об этом большой пост в блоге, но рад, что вам понравилось
2. Я взломал этот скрипт примерно за 2 секунды, находясь на компьютере с помощью мыши. Я думаю, вам нужно вернуть false или где-нибудь остановить распространение… Я щелкал как сумасшедший, и он застрял в «зеленой» позиции и больше не работал.
3. действительно ли необходимы «touchstart» и «touchend»?
4. кроме того, в «touchmove» есть ли способ узнать направление движения?