2015-11-18 3 views
0

У меня есть вкладки с 4 ссылками.jquery trigger click несколько раз

Я хочу щелкнуть по нему через jQuery. Я использую это для первой ссылки:

$("a[data-search='a1']").delay(2000).trigger('click'); 

это работает.

Теперь и я хочу сделать это для другой линии:

$("a[data-search='a1']").delay(2000).trigger('click'); 
$("a[data-search='a2']").delay(2000).trigger('click'); 
$("a[data-search='a3']").delay(2000).trigger('click'); 
$("a[data-search='a4']").delay(2000).trigger('click'); 

, но он работает только один раз для первого триггера.

также прошу использовать метод интервала (просьба не предлагать). Я думаю, Я не могу использовать триггер ('click') multipile.

Что случилось?

демо: https://jsfiddle.net/1fvqvjb3/8/

+0

Что вы пытаетесь сделать с помощью триггера? –

+0

проверьте пожалуйста демо. это полный код. – partiz

+0

Этот javascript ничего не делает в скрипке. –

ответ

1

я мог ошибиться на что вы пытаетесь сделать, но это, кажется, как будто вы хотите каждая ссылка будет нажата последовательно. Функция jQuery .delay() не блокирует, поэтому не подождите 2 секунды между каждым нажатием; скорее, будет одна задержка в 2 секунды, и тогда все 4 ссылки будут нажаты одновременно, что, казалось бы, показалось бы, что только одна ссылка была нажата.

Я не уверен, что вы подразумеваете под «интервальным методом», который вы не хотите предлагать, но, возможно, лучший способ решить вашу проблему - использовать setTimeout().

(function f(i) { 
    setTimeout(function() { 
     $('a[data-search="a' + i + '"]').click(); 
     if (i < 4) f(i+1); 
    }, 2000); 
})(1); 

Это пример IIFE, который я настоятельно рекомендую reading up on, если вы еще не знакомы с ними.

+0

Большое спасибо. но см., Если я заменю 'alert (i);' с '$ ('a [data-search =" a' + i + '"]'). click();' он запускается 4 раза нормально с правом i значением , но с 'click()' он работает только один раз! даже если добавить предупреждение, предупреждение запускается один раз. Надеюсь, ты недооценил меня. это моя проблема. – partiz

Смежные вопросы