Método del objeto como manejador.

Intento esto:

function MovableLine (line, number) { this.line = line; this.number = number; } MovableLine.prototype.start = function (e) { alert(this.number); alert(this); }; 

y entonces:

 var mline = this.xAxis[0].plotLinesAndBands[plotLinesCount].svgElem; mline.css({ 'cursor': 'pointer' }); mline.translate(0, 0); movableLine = new MovableLine(mline, 10); movableLine.line.on('mousedown', movableLines[plotLinesCount].start); 

resultado:
primera alerta: indefinido
segunda alerta: objeto SWGPathElement

¿Cómo obtener mi objeto movableLine desde start ()?

Recomendaría no usar prototipo para los métodos de eventos. Asigne la función como una propiedad de objeto y también, almacene en caché this referencia:

 function MovableLine (line, number) { var self = this; //Caching this.line = line; this.number = number; this.start = function (e) { alert(self.number); alert(self); }; } 

Alternativamente, puede usar un catcher de clics si absolutamente quiere usar .prototype :

 function MovableLine (line, number) { var self = this; //Caching this.line = line; this.number = number; this.clickCatcher = function () { self.start.apply(self, Array.prototype.slice.call(arguments, 0)); }; } MovableLine.prototype.start = function (e) { alert(this.number); alert(this); }; //And you event binding: movableLine.line.on('mousedown', movableLines[plotLinesCount].clickCatcher);