span元素上的Click事件适用于桌面,但不适用于移动(jquery)

时间:2018-02-04 02:00:33

标签: javascript jquery mobile responsive

单击桌面上的span元素触发事件,但不在移动设备上触发。跨度是当前温度旁边的温度单位,一旦用户点击了“天气”,就会填充该温度单位。按钮。

这是与跨度点击事件相关的代码部分:

$(document).on('click', "span" , function(){
    var str=document.getElementById("tempUnits").innerHTML;
    if (str==="Celsius"){
      document.getElementById("tempUnits").innerHTML="Fahrenheit";
      $("#temp").html(tempC + '<span id="tempUnitsSpan"><strong> C </strong></span>' + " and " + weatherDescription);
    }

    else if (str==="Fahrenheit"){
      document.getElementById("tempUnits").innerHTML="Celsius";
          tempF=Math.max( Math.round((tempC*1.8+32) * 10) / 10, 2.8 ).toFixed(2);
        console.log(tempF);

      $("#temp").html(tempF + '<span id="tempUnitsSpan"><strong> F  </strong></span>' + " and " + weatherDescription);
    }

page

page w/ code

1 个答案:

答案 0 :(得分:2)

如果元素在移动设备上被点击两次,我猜它会起作用。要解决此问题,请添加touchstart事件。触摸屏上放置触摸点时会触发touchstart事件。

$(document).on('click touchstart', "span" , function(){
}