условный код JavaScript не выполняется - PullRequest
0 голосов
/ 14 мая 2011

Кто-нибудь знает, почему этот код может не работать?touchmove и touchend не выполняют только touchstart, потому что это отдельное событие и функция:)

$('input').live("touchstart", function (e) {$(this).addClass('click')});

$('input').live("touchmove,touchend", function (e) {
    if (e.type == 'touchmove'){
       $('.temp').removeClass('temp');
       $('.click').removeClass('click');
    }
    else{var inputvalue = $(this).val()
       $('input[value="' + inputvalue + '"] + label').css({
          '-webkit-transition': 'opacity 0.3s linear',
          'opacity': '0'
        });
        setTimeout(function () {
        $('input[value="' + inputvalue + '"]  + label').css({'-webkit-transition': '0','opacity': '1'});
            $('.temp').removeClass('temp');
            $('.click').removeClass('click');
        }, 300);}
    });

Большое спасибо за любую попытку:)

Ответы [ 4 ]

2 голосов
/ 14 мая 2011

Имена событий в первом аргументе ".live ()" должны быть разделены пробелами , а не запятыми.

$('input').live("touchmove touchend", function (e) {
1 голос
/ 14 мая 2011

Я думаю, что это будет работать

$('x').live("ontouchmove, ontouchend", function (e) { 
  //do stuff
  if (e.type == 'ontouchmove'){
    //do stuff
  }
  else{
    //do stuff
  }
});
0 голосов
/ 14 мая 2011

Что говорит консоль, когда вы открываете свой сайт / пытаетесь запустить метод? :)

// Gerner

0 голосов
/ 14 мая 2011

Во-первых, вашей переменной события должен быть параметр e, а не event.

Во-вторых, при проверке на равенство вам нужны два знака равенства: ==.Один знак равенства - это оператор присваивания.

...