2014-10-07 3 views
0

у меня есть этот код, который предотвращает поведение по умолчанию на всех элементах:Удаление event.preventDefault по щелчку не работает

$('body *').click(function(e){ 
e.stopPropagation(); 
e.preventDefault(); 
}); 

Теперь я хотел бы программно нажать на определенную ссылку на странице, но сначала я должен удалить e.preventDefault(); поэтому я использовал unbind:

$('a')[0].unbind('click'); 
$('a')[0].click(); 

Это не работает для меня. Что я делаю не так?

+0

вы можете дать образец HTML, который вы пытаетесь изменить? –

+1

«Что я делаю неправильно? *» - вы привязываете метод jQuery к узлу DOM: это не сработает. @Youss: нет, это не работает: он терпит неудачу в '$ ('a') [0] .unbind ('click');' –

+0

@David Thomas Это действительно работает: http://jsfiddle.net/pg2z4zLa/2/Или вы имели в виду невзрачную часть? – Youss

ответ

1

Вы не можете сделать

$('a')[0].unbind('click') 

.eq() использовать, чтобы получить первый элемент, а затем отвязать

.eq(0).unbind('click') 
Смежные вопросы