diff --git a/lib/client/load.js b/lib/client/load.js index 6bfc85ce..f89f799d 100644 --- a/lib/client/load.js +++ b/lib/client/load.js @@ -30,7 +30,7 @@ var Util, DOM; * } */ function load (params) { - var element, onError, type, + var element, type, p = params, func = p.func, isObj = Util.isObject(func), @@ -44,14 +44,17 @@ var Util, DOM; * if object - then onload and onerror */ funcLoad = function() { + var callback = func.onload || func; + Events.remove('error', element, funcError); - Util.exec(func); + Util.exec(callback); }, funcError = function(event) { - var template = 'file {{ src }} could not be loaded', - isQuit = !!onError, + var callback = func.onerror || func.onload || func, + template = 'file {{ src }} could not be loaded', + isQuit = true, msg = Util.render(template, { src: p.src }); @@ -60,16 +63,9 @@ var Util, DOM; Images.showError(msg, isQuit); - Util.exec(onError, event); + Util.exec(callback, event); }; - if (isObj) { - func = func.onload; - onError = func.onerror; - - if (!onError) - onError = func.onload; - } /* убираем путь к файлу, оставляя только название файла */ if (!p.id && p.src) p.id = load.getIdBySrc(p.src);