honey4bee Ответов: 1

Как ограничить обновление страницы при нажатии кнопки привязка в jquery


Привет.. Я написал приведенный ниже скрипт в своем мастер-макете для обновления и закрытия браузера..
Мне нужно выйти из системы пользователя в обоих сценариях, и ниже функция работает хорошо..

<script type="text/javascript">

    var refresh = true;
    var success = false;

    $(document).ready(function () {
        $("a,:input").click(function () {
            refresh = false;
        });


        //Script for Browser refresh and close...
        var myEvent = window.attachEvent || window.addEventListener;
        var chkevent = window.attachEvent ? 'onbeforeunload' : 'beforeunload';

        myEvent(chkevent, function (e) {
            if (refresh == true) {

                $.ajax(
                {
                    type: "POST",
                    traditional: true,
                    dataType: "json",
                    async: false,
                    url: '@Url.Action("MyActionMethod", "MyController")',


                        success: function (data) {

                            if (data == "Success") {
                                success = true;
                            }
                        }
                    });

                }
            });

        });
</script>


В моем представлении контента у меня есть якорный тег, как следует.. и нажав на ссылку, он перенаправляет vl на Уважаемый url.. Но когда я кликаю эту ссылку сначала, она запускает связанную с refresh_close функцию, которая существует в моем мастер-макете.. Я не хочу запускать эту функцию при нажатии на ссылку..

Это мой якорь.

Мне нужно ограничить вызов события beforeunload при клике якоря..

Как я могу это сделать?.

заранее спасибо..
Мед..

1 Ответов

Рейтинг:
0

SRS(The Coder)

<a id="aTest" href="GoogleMapsAPITest.aspx" onclick="return MyFunction();">Test Here !</a>


function MyFunction() {
  //add logic here to conditionally return true or false
  // false means no reloading.
  return false;
}


Надеюсь, это имеет смысл для вас.