2016-04-06 4 views
0

Я пытаюсь получить кнопку (# direction-button), которая будет запущена, когда страница будет загружена, поскольку у меня уже есть данные с предыдущей страницы, которые обрабатываются в текстовое поле (# target-dest), когда страница , но я не могу заставить кнопку запускаться автоматически, как только загружается страница.Кнопка не запускается при загрузке страницы? (JQuery)

$(document).ready(function() { 
    var locn = location.href; 
    var locationPortions = locn.split("?loc="); 
    $("#target-dest").val(locationPortions[1]); 
    $("#directions-button").trigger('click'); 
}); 
<a href="#" id="directions-button" data-role="button" data-inline="true" data-mini="true"> 
    Get Directions 
</a> 
+1

Вы уже проверили консоль на наличие ошибок? Есть ли на странице несколько элементов '# direction-button'? –

+0

Это мобильное приложение, и я тестирую его на своем телефоне, поэтому у меня нет отладчика. Но да, текстовое поле target-dest заполняется правильно, поэтому элементы со страницы определенно работают. – Mahdi

+1

http://stackoverflow.com/questions/8840044/trigger-a-button-on-page-load duplicate –

ответ

-1

Я не вижу даже обработчик при нажатии на кнопку. Также вы должны определить обработчик перед запуском события click.

Посмотрите

$(document).ready(function() { 
 
    var locn = location.href; 
 
    var locationPortions = locn.split("?loc="); 
 
    $("#target-dest").val(locationPortions[1]); 
 

 
    $("#directions-button").click(function() { 
 
    alert('I was clicked'); 
 
    }) 
 

 
    $("#directions-button").trigger('click'); 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script> 
 

 
<a href="#" id="directions-button" data-role="button" data-inline="true" data-mini="true"> 
 
    Get Directions 
 
</a>

это https://jsfiddle.net/v7h0dbga/

+0

Предупреждение работало так, как оно появилось на интерфейсе, но кнопка все еще не срабатывала? Немного странно. – Mahdi

+0

Что значит «кнопка все еще не срабатывала»? Если предупреждение срабатывало, кнопка запускалась. Чего вы ожидаете, что этого не происходит? Что для вас значит «сработало»? –

+0

В приведенном выше фрагменте показано, что событие щелчка запускается при загрузке страницы. Не уверен, что вы действительно ищете. – Angad

-1

Ваш код, как написано отлично работает. См. Обновленный Fiddle https://jsfiddle.net/ubecwq1k/2/, в котором появляется предупреждение, подтверждающее его. Я должен был включить JQuery в качестве ресурса и правильно использовать jsfiddle (JS в панели JS, HTML в HTML-панели и т. Д.). Нажмите «Пробег», и вы увидите обработчик, который я добавил:

... 
$("#directions-button").click(function() { alert('works'); }); 
$("#directions-button").trigger("click"); 

фактически уволен.

+0

Предупреждение работает, однако кнопка все еще не запускается. Считаете ли вы, что это может быть связано с чем-то в файле javascript для карты? – Mahdi

+0

Как я упомянул об ответе Ангада: что значит «кнопка все еще не срабатывала»? Если предупреждение срабатывало, кнопка запускалась. Чего вы ожидаете, что этого не происходит? Что для вас значит «сработало»? –

+0

Я обновил jsfiddle с файлом javascript для фактических карт – Mahdi

-1

Попробуйте

$("#directions-button").on('click',function() { 
    alert('clicked'); 
}) 

$("#directions-button").trigger("click"); 
+0

В соответствии с моими другими комментариями предупреждения работают, но кнопка все еще не запускается. Я думал, что проблема может быть связана с файлом javascript для карт google? – Mahdi

+0

Есть ли ошибки JavaScript? Проверьте консоль, возможно, есть некоторая ошибка, которая останавливает запуск вашего кода. – dquinonez

+0

Я проверяю ваш jsfiddle, и я не вижу, чтобы действие было выполнено для события click. Где реализуется событие click для тега привязки? – dquinonez