2013-06-12 2 views
0

Добрый день.Почему триггер не работает?

У меня есть код:

<a class="fancybox iframe" href="http://google.com" id="online_form_a">test</a> 

<script> 
$(document).ready(function() { 
    // add the fancy box click handler here 
    setTimeout(function() { 
     $("#online_form_a").trigger('click'); 
    },10); 
}); 
</script> 

Этот код должен нажать на элемент <a> через 10 секунд, но скрипт не работает.

Сообщите мне, где ошибка?

P.S .: см работы скрипта можно увидеть на JsFiddle

+0

Пуск по клику не перенаправляет вас. Вы должны изменить 'window.location' свое. – elclanrs

+0

@elclanrs вы не правы.триггер должен сделать щелчок на '' –

+0

мне не сделать ridirect. Мне нужно только щелкнуть, чтобы начать fancebox –

ответ

0

Здесь я предполагаю, что вы хотите, чтобы автоматически перенаправлять HREF СТОИМОСТИ a «s, это не произойдет с помощью .trigger().

Метод триггера запускает зарегистрированные обработчики событий, но связанные с ним действия по умолчанию могут не запускаться.

От Doc

Хотя .trigger() имитирует активацию событий, в комплекте с синтезируемого объектом события, он не полностью реплицировать природного события.

Другой выбор .triggerHandler(), но даже это не вызывает поведение по умолчанию

Метод .triggerHandler() не вызывает поведение по умолчанию в события происходят (например, формы представления).

Таким образом, решение заключается в использовании window.location здесь

window.location = $('#online_form_a').attr('href') 
0
<a class="fancybox iframe" href="http://google.com" id="online_form_a" >test</a> 
$ (документ) .ready (функция() {// добавить фантазии окно нажмите здесь обработчик SetTimeout (функция() { location.href = $ ("# online_form_a"). attr ('href'); }, 1000); });
3

инициирующее событие нажмите означает, что вы вызываете функцию переплетены в случае щелчка этого element..without мыши элемент

Но нет ни одного события нажмите прикреплено к вашему элементу ..

ли это как это ...

<a class="fancybox iframe" href="http://google.com" id="online_form_a">test</a> 


$(document).ready(function() { 
    // add the fancy box click handler here 

    $('a').click(function(){ 
     window.location.href = "http://google.com"; 
    }); 

    setTimeout(function() { 
     $("#online_form_a").trigger('click'); 
    },10000);    // this value is in milliseconds(1 sec = 1000 ms) 
}); 
Смежные вопросы