Код, который вы указали, выполняется только на document.ready
, и это происходит один раз, до того, как инициируется angular.Размещение этого кода в ngOnInit
вызовет document.ready
после его выполнения и ничего не даст.
Размещение этого кода вне угла может вызвать другую проблему.запрос ($("...")
) выполняется один раз, и прослушиватель событий будет применен к найденным элементам.Но document.ready
выполнит код перед угловой сборкой кода, поэтому он ничего не найдет.
Я бы порекомендовал вам взять код вне document.ready
и использовать .on(events, selector, handler)
:
ngOnInit() {
$(document).on("click", "#search_dropdown span li a", function(e) {
e.preventDefault();
alert($(this));
$("#search_input").val($(this).text());
});
}
Но я очень рекомендую вам не использовать jquery с angular.В Angular есть все, что вам может понадобиться, без загрузки дополнительной библиотеки.