В ваших примерах чего-то не хватает, так называется EH_SortableRecieve. Но исходя из того, что вы говорите, его следует использовать, так как я думаю, что оно используется примерно так:
htmlelement.onmouseup = shippingObject.EH_SortableRecieve;
В этом случае вы должны знать о привязке Javascript this
в методах. В частности, в обработчиках событий this
привязывается к объекту window
вместо объекта, которому принадлежит метод. Это общая особенность javascript: методы могут быть связаны во время выполнения. Другими словами, объекты могут украсть методы других объектов. Например, я могу заставить мой объект slebetmans_object
украсть ваш метод и повторно связать его this
с помощью следующего:
shippingObject.EH_SortableRecieve.apply(slebetmans_object,parameters);
Есть несколько стратегий, чтобы обойти это. Вы можете использовать закрытие, чтобы захватить ваш объект:
htmlelement.onmouseup = function(){ shippingObject.EH_SortableRecieve() };
Вы можете использовать замыкание в конструкторе объекта для захвата правильной ссылки на ваш объект:
function ShippingUI () {
var self = this; // since self is resolved at the time the object is created
// it always reference to the "correct" object
this.EH_SortableRecieve = function(event, ui)
{
self.UpdateItemQTYs('ABCD',123);
}
}
Возможно, есть и другие способы сделать это, но это два наиболее распространенных, которые я лично использую.