条件javascript代码不执行

时间:2011-05-13 21:28:58

标签: javascript jquery events conditional jquery-mobile

有谁知道为什么这段代码可能不起作用? 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 个答案:

答案 0 :(得分:2)

“.live()”的第一个参数中的事件名称需要用空格分隔,而不是用逗号分隔。

$('input').live("touchmove touchend", function (e) {

答案 1 :(得分:1)

我认为这会起作用

$('x').live("ontouchmove, ontouchend", function (e) { 
  //do stuff
  if (e.type == 'ontouchmove'){
    //do stuff
  }
  else{
    //do stuff
  }
});

答案 2 :(得分:0)

首先,您的事件变量应该是参数e,而不是event

其次,在测试相等性时,您需要两个等号:==。一个等号是赋值运算符。

答案 3 :(得分:-1)

当您打开网站/尝试运行该方法时,控制台会说什么? :)

// Gerner