2016-06-04 6 views
-3

У меня есть простой сценарий: когда вы вставляете ссылку на картинку в ВХОДЕ формы, он автоматически показывает его предварительный просмотр:.val() или фокус() не работает должным образом

enter image description here
но когда я вставляю тот же ссылка не соперничают Ctrl + C/Ctrl + V с руками, но через JQuery, мой предварительный блок остается пустым:

<input class="inputlink" type="text" ng-model="openImageUrl" ng-change="showImagePreview(openImageUrl)" ng-model-options="{ debounce: 500 }"> 
$(document).ready(function() { 
    $('.vk_photo_edit').focus(); 
    $('.inputlink').val('http://name.com/image.jpg'); 
}); 

enter image description here

Что может быть неправильным в сценарии?

+0

не Изменение входного значения программно и не вызывает какие-либо события, независимо от библиотеки или рамок, используемых , Почему вы используете jQuery в первую очередь? – charlietfl

+3

Почему вы не обновляете переменную области видимости? Какой смысл использовать AngularJS, если вы пишете такой код? –

+0

То, что написал @TJ, настолько болезненно правильно! Просто используйте jQuery и DOM-манипуляцию вместо использования AngularJS. –

ответ

-1

<input class="inputlink" type="text" ng-model="openImageUrl" ng-change="showImagePreview(openImageUrl)" ng-model-options="{ debounce: 500 }">

ng-change активировать с событием изменения. Это событие не срабатывает, если вы изменяете значение внутри скрипта.

2 Решение

  1. вызова функция showImagePreview непосредственно

  2. создать поддельное событие с document.createEvent

+0

Упрощение просто '.trigger ('input')' привязано к заданному значению – charlietfl