Member 14165241 Ответов: 1

Запуск "onmouseup" второго инцидента будет ошибочным !


Когда я нажимаю кнопку, она работает, но второе событие "onmouseup" активируется, когда я отпускаю кнопку, и функция ajax становится ошибкой. Есть ли в сценарии что-то неправильное?

Что я уже пробовал:

<button id="myP" onmousedown="mouseDown_b()" onmouseup="mouseUp_b()">Click Me</button>


      <script>
          function mouseDown_b() {
        //e.preventDefault();
        document.getElementById("myP").style.color = "red";

        $.ajax({
            type: "POST",
            url: "Default.aspx/testMethod_a",
            data: "{ currentState: 1 }",
            contentType: "application/json; charset=utf-8",
            dataType: "json",
            //async:false,
            success: function () {
                console.log("success1");
            },
            error: function () {
                alert("error");
            }
        });

    }

    function mouseUp_b() {
        //e.preventDefault();
        document.getElementById("myP").style.color = "green";

        $.ajax({
            type: "POST",
            url: "Default.aspx/testMethod_a",
            data: "{ currentState: 2 }",
            contentType: "application/json; charset=utf-8",
            dataType: "json",
            //async:false,
            success: function () {
                console.log("success2");
            },
            error: function () {
                alert("2nd_error");
            }
        });
    }
</script>

Gerry Schmitz

Вы должны придерживаться "кликов". Это не "настольное" приложение.

Member 14165241

Не могли бы вы привести мне пример, как я могу это сделать ?

1 Ответов

Рейтинг:
2

Maciej Los

Ну, ваш код работает нормально. Чтобы запустить события мыши во второй раз, переместите курсор мыши из кнопки и снова над ней. Затем нажмите кнопку. Я проверил его здесь: JSFiddle[^]


Я понятия не имею, почему это происходит, и не нашел никакой документации, связанной с этой проблемой.