2015-07-07 4 views
0

Я пытаюсь вызвать щелчок через jQuery при таргетинге на элементы данных. Триггерный щелчок отлично работает на настольных устройствах, однако на сенсорных устройствах он не работает. Я читал здесь: jquery touchstart in browser и попытался связать событие touchstart, но он все еще не работает, ниже мой код с событием touchstart и без него.Проблема с триггерным щелчком на сенсорных устройствах при таргетинге на элемент данных

//basic implementation that works on non-touch devices 
$('.mobile-link').click(function() { 
     $("[data-slidr-breadcrumbs='platforms']").trigger('click'); 
}); 

//with touchstart 
var clickEventType = ((document.ontouchstart!==null)?'click':'touchstart'); 

$('.mobile-link').click(function() { 
    $([data-slidr-breadcrumbs='platforms']).trigger(clickEventType); 
}); 
+0

является то, что селектор атрибута вы звоните правильно ?? – answer99

+0

Селектор атрибутов кажется правильным, так как он работает с устройствами без касания. Хотя, интересно, возникает ли проблема в сенсорных устройствах? –

ответ

-1

Вы хотите либо нажмите или touchstart события, так что используйте .on() и передать имя события в качестве первого PARAM

var clickEventType = ((document.ontouchstart !== null) ? 'click' : 'touchstart'); 

$('.mobile-link').on(clickEventType, function() { 
    $("[data-slidr-breadcrumbs='platforms']").trigger('click'); 
}); 
+0

К сожалению, это все еще не делает трюк, функция щелчка срабатывает правильно - например, если я добавляю предупреждение, которое он запускает при щелчке, проблема все же существует из триггера, не запускающего элемент атрибута данных. –