@michellie

Как настроить событие по клику на DIV на мобильной версии сайта?

$(document).on('click','.class', function(e) { ...
Подобного рода конструкции не воспринимаются мобильным браузером, работает только если делать button,
если заменить на
$(document).on('touchstart','.class', function(e) { ...

нажимается при любом скроле, совсем не годится,
как быть?

Не работает исключительно если ставить событие на DIV, во всех других случаях работает

$(document).on('click tap','button.fa',function(e) {
  bk=true;
var spanText = $(this).val();
var x=spanText.split("_");
var id_tops = '<?php echo $id;?>';
    e.preventDefault();
    $.ajax({
        type: "POST",
        url: 'topchangepos.php',
        data: { 
            where: x[1],
            id: x[0],
            idtop: id_tops
        },
        success: function(result) {
          if (x[1] === "up")
           {var res = +$("#"+x[0]+">p").text();
           $("#"+x[0]+">p").text(res+1);}
           else if (x[1] === "down")
           {var res = +$("#"+x[0]+">p").text();
           $("#"+x[0]+">p").text(res-1);}
        }
    });
});

var bk = false;
var currElClick = false;
 $(document).on('click tap','.visualp', function(e) {
  if (bk==true) {
    bk=false;
    return;
  }
  var that = $(this);
    if (currElClick == $(that).find("button:first").val()) return false;
    currElClick  = $(that).find("button:first").val();
spanText = $(this).find("button:first").val();
x=spanText.split("_");
var id_tops = '<?php echo $id;?>';
    e.preventDefault();
    $('.comments').remove();
    $.ajax({
        type: "POST",
        url: 'showcommentstop.php',
        data: { 
            elementid: x[0],
            topid: id_tops
        },
        success: function (list) {
            if (list == '') {
            } else {
               $(that).append(list);
            }
                }
    });
});
  • Вопрос задан
  • 238 просмотров
Пригласить эксперта
Ответы на вопрос 1
ThunderCat
@ThunderCat Куратор тега JavaScript
{PHP, MySql, HTML, JS, CSS} developer
$(document).on('click tap','.class', function(e) { ...

touch тоже должно работать нормально
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы