Я хочу вызвать 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);
}
)}
});
});
Этот код работает, но когда я удаляю задержку, прокрутка не работает. Конечно, пребывание с жестко запрограммированной задержкой не является вариантом.
В исходном тексте 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