Вызов угловой функции из скрипта jquery и ожидание ее завершения

0

Я хочу вызвать angular функцию из jquery, каждый раз, когда я нажимаю Enter в своем теге ввода. затем я хочу прокрутить страницу до конца. Мой сценарий выглядит следующим образом:

$(document).ready(function () {
    $(".scroll").keypress(function (e) {
        if (e.which == 13) {
            $.when( angular.element($("#myctrl")).scope().someAngularFunction()).done(function(){
                $("html, body").delay(2000).animate({ scrollTop: $('.bottomOfPage').offset().top }, 2000);
            }
            )}

    });
});

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

  • 0
    используйте ng-keyup вместо jquery
  • 0
    да, это была моя оригинальная идея. Я использовал ng-keyup = "$ event.keyCode == 13? SendMessageToTheBot (): null", и попытался прокрутить div в этой функции перед выходом, но это не сработало. возможно я не использую это правильно.
Теги:
scroll

1 ответ

0

В исходном тексте page-

if (false || !!document.documentMode) {
            function CustomEvent() {
                var event = document.createEvent('HTMLEvents');
                event.initEvent('AngularLoaded', true, true );  
                return event;
            };

            //   CustomEvent.prototype = window.Event.prototype;
            document.angularLoaded = CustomEvent();
        }
        else {
            var event = new Event("AngularLoaded");
            document.angularLoaded = event;
        }

И когда вы хотите использовать угловую функцию после ее загрузки

document.addEventListener('AngularLoaded', function() {
//your code goes here

Ещё вопросы

Сообщество Overcoder
Наверх
Меню