2012-05-09 3 views
0

Я получил этот код:JQuery MouseDown событие функции косяк обработчик проход

function drawing(){ 
this.dragging = function(){ 
$('#object').mousedown(startDragging); 
} 

function startDragging(){ 
console.log(e.PageX); 
} 
} 

var draw = new drawing(); 
$('#object2').click(function(e){ 
draw.dragging(); 
}) 

и когда Im TRAING огонь это до я попал в консоль «не определено» кто-нибудь может сказать мне, где моя ошибка? спасибо!

ответ

0

Вам необходимо передать объект event, если вы хотите ссылаться на него в другом месте (e не существует, пока вы его не определите). Это должно работать:

function drawing() { 
    this.dragging = function(e) { 
     $('#object').mousedown(startDragging(e)); 
    } 

    function startDragging(event) { 
     console.log(event.PageX); 
    } 
} 

var draw = new drawing(); 

$('#object2').click(function(e) { 
    draw.dragging(e); 
})​ 
+0

нет его не так, я все еще получаю «неопределенный» – Krystian

+0

@Krystian: О, и 'PageX' должен быть' pageX', JS переменных чувствительно к регистру. Это сделало бы это ... –

+0

ОК, вы правы, я плохой, но теперь у меня другая проблема - когда я нажимаю object2, он сразу же запускает startDraging, и я получаю координаты от события клика, а не от draging – Krystian

Смежные вопросы