2014-09-22 5 views
1

У меня есть этот простой HTML страницы:Jquery функция нажмите не вызывает щелчок

<html> 

<head> 
<script src="http://code.jquery.com/jquery-latest.min.js" type="text/javascript"> </script> 

<script> 
$(document).ready(function() { 
    $('#test').click(); 
}); 
</script> 

</head> 

<body> 
<a id="test" href="http://google.com">http://google.com</a> 
</body> 

</html> 

Я хочу, чтобы вызвать событие щелчка на элементе под названием test при загрузке страницы. Фактический код на самом деле более сложный, чем этот, но этот очень простой пример не работает. Я проверил журнал консоли, и никаких уведомлений там нет.

+0

Вы должны использовать $ ('# test'). Trigger ("click"); –

+0

@Regent нет, если OP хочет вызвать событие click, реализация того, что должно быть сделано, находится на нем –

+0

@ ChakravarthySM взгляните на [docs] (http://api.jquery.com/click/ #click), чтобы увидеть, что происходит, когда вы вызываете '.click()' без аргументов. – Regent

ответ

2

Вы должны использовать, чтобы вызвать элемент DOM нажмите

$('#test').get(0).click(); 

Использование .get(), It извлекать элементы DOM, соответствующие объекту jQuery. Поскольку .click() вызовет обработчик события щелчка элемента. На самом деле он не будет нажимать на элемент.

Используя простой Vanialla JS

document.getElementById('test').click() 

DEMO

2

.click() вы запуска правильно, но вам не хватает событие щелчка для '#test', как показано:

$('#test').click(function(){ 
    alert('here'); 
}); 

Теперь ваш полный код JQuery является, как показано:

<script> 
$(document).ready(function() { 
    $('#test').click(); //or $('#test').trigger('click'); 
    $('#test').click(function(e){ 
    e.preventDefault(); 
    alert('here'); 
    window.location.href = $(this).attr('href'); //redirect to specified href 
    }); 
}); 
</script> 
2

.click() фактически не отправляет событие клика.

Что .click() делает, определяет то, что происходит, когда вы нажимаете на элемент.

1

Ваша ссылка #test должен быть привязан к функции, например:

$(document).ready(function() { 

    //do something on test click 
    $('#test').on("click", alert()); 

//click test 
    $('#test').click(); 
}); 

http://jsfiddle.net/ub8unn2b/

0

Здесь нажимают событие срабатывает то нажмите событие вызывается при загрузке страницы, но вы не можете загрузить HREF, просто запуская событие щелчка, для этого вы можете использование

window.location.href = "http://www.google.com";

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