Кнопка jquery mobile автоматически обновляет страницу - PullRequest
2 голосов
/ 09 декабря 2011

Я использую jquery mobile для создания мобильной веб-страницы. Я определил кнопку и событие onclick. После выполнения функции onclick моя страница автоматически обновляется. Кто-нибудь знает, почему это происходит или как я могу это остановить?

объявление моей кнопки:

<button id="rateButton" data-theme="a" data-icon="star" data-iconpos="right" onclick="BtnRatePressed();">Rate</button>

функция:

function BtnRatePressed() {
    var rateBtn = document.getElementById('rateButton');
    rateBtn.style.visibility = 'hidden';
    alert("yeh");

}

Я получаю предупреждение, а затем страница обновляется.

Ответы [ 3 ]

2 голосов
/ 09 декабря 2011

Добавьте return false; в конец BtnRatePressed(), чтобы щелчок даже не распространялся и не приводил к отправке формы.

Редактировать: Кроме того, измените свой атрибут на onclick="return BtnRatePressed();"

2 голосов
/ 09 декабря 2011

Нам нужен код, чтобы это выяснить.В любом случае вы можете предоставить нам живую демонстрацию?

Возможно, вы забыли вернуть false в конце события onclick.Пренебрежение возвратом false заставит браузер в любом случае выполнить href ссылки, что может выглядеть как перезагрузка страницы.

Как я уже говорил, наблюдая живой пример, добавьте return false или

ваша BtnRatePressed функция

function BtnRatePressed()
{
    var rateBtn = document.getElementById('rateButton');
    rateBtn.style.visibility = 'hidden';
    alert("yeh");
    return false;
}

или внутри оператора onclick.

<button id="rateButton" data-theme="a" data-icon="star" data-iconpos="right" onclick="BtnRatePressed(); return false;">Rate</button>
1 голос
/ 10 декабря 2011

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

...