Понял, глобальные значения изменяются перед листенером.. :(
|
Цитата:
Ext.onReady(function() { var win = new Ext.Window({ width : 1465, height: 785, id : 'autoload-win', autoScroll : true, html: '<div id="generateImage"><img id="target" alt="generateImg" height="{height}" width="{width}" /></div>', listeners:{ resize: function (panel, w,h){ $("#target").one('load', loadCallback).attr('src', adresse).each(function () { if (this.complete) $(this).trigger('load'); }); } } }); win.show(); *!* $("#target").one('load', loadCallback).attr('src', adresse).each(function () { if (this.complete) $(this).trigger('load'); }); */!* $('#target').imgAreaSelect({ handles: true, movable: false, resizable: false, autoHide: true, onSelectEnd: function (img, selection) { $("#target").one('load', loadCallback).attr("src", adresse + "&x1=" + selection.x1 + "&y1=" + selection.y1 + "&width=" + selection.width + "&height=" + selection.height).each( function () { if ($("#target").complete) $("#target").trigger('load'); }); } }); }); лишнее... |
Ext.onReady(function() { // создадим окно var win = new Ext.Window({ width : 1465, // такое окно у многих в браузер не влезет ! height: 785, id : 'autoload-win', autoScroll : true, html: '<div id="generateImage"><img id="target" alt="generateImg" height="{height}" width="{width}" /></div>', listeners:{ resize: function (panel, w,h){ //каким образом формируется адрес ? пишу на обум var adresse="getimg.php?width="+w+"&height="+h; // изменим src, и подпишемся на событие (невижу необходимости в trigger) $("#target").one('load',loadCallback).attr('src', adresse); } } }); // показываем окно win.show(); // создадим плагин ответственный за выбор фрагмента изображения $('#target').imgAreaSelect({...................... /** * обработчик события загрузки */ function loadCallback(............................... }); |
Цитата:
Но функцию мне нужно пользовать вот такую, $("#target").one('load', loadCallback).attr('src', adresse).each(function () { if (this.complete) $(this).trigger('load'); }); потому, что только в этом случае я могу прочитать кукисы которые приходят с сервера. Просто при изменении окошка мне нужно отсылать на сервер новые координаты и мне сервер должен прислать измененнную картинку. Кажется я понял как решить свою задачу, надеюсь кусочком кода вы мне подскажете. Я думаю лучшее решение, при изменении окна удалять все с него а потом заново грузить. Вот проблема только я не знаю как мне удалить все.. Пробовал RemoveAll но там хочет как аругмент компоненту. А у меня по ходу только HTML. попробовал html:''; но никаких изменений, контент не удаляется.. как мне удалить из окна ExtJs сохданный мною контент? Спасибо! Цитата:
|
думаю достаточно удалить img
$("#generateImage").empty(); однако не доганяю чем это упростит жизнь. и ктонибудь, обьясните мне балбесу, какая связь между trigger и куки. |
Кажется проблема решилась, и я получил то что хотел в конечном итоге...
Вот что искалось... listeners:{ resize: function (panel, w,h){ Ext.get("target").dom.src=""; $("#target").one('load', loadCallback).attr('src', adresse).each(function () { if (this.complete) $(this).trigger('load'); }); } } Этот код с триггером я нарыл где-то. С помощью его я дожыдаюсь полного ответа с сервера. Система такая, я отсылаю размеры изображения на сервер, сервер в ответ мне шлет другие кукисы, которые я должен применить перед установокой плагина imgAreaSelect(Сервер шлет ограничения на область выделения). Вот.. как-то так.. |
Цитата:
Цитата:
|
:( Это пппц какой-то.
Может мне кто на пальцах объяснить что я этим делаю? Код нашел, допилял - заработало, а конекретно не понимаю что делает. $("#target").one('load', loadCallback).attr('src', adresse).each(function () if (this.complete) $(this).trigger('load'); }); Я только знаю что с помощью этого кода я полностью гружу изображение, а когда полностью придет ответ с сервера, читаю кукисы в функции loadCallback |
1. тынць
2. Вот зачем Вам этот винегрет? Цитата:
Цитата:
|
1. Да конечно я почитал что делает каждая ф-ця, но от этого понимания не прибавилось..., не силен я в Js, а порой приходится типо что-то делать.. толком и учить некогда, и как приходится делать, то не понимаешь что да и как.. :(
2. Цитата:
Буду танцевать, - пасиб. |
Часовой пояс GMT +3, время: 00:47. |