Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   $('canvas').onmousedown = mouseDown; передача нескольких параметров (https://javascript.ru/forum/misc/8909-%24-%27canvas%27-onmousedown-%3D-mousedown%3B-peredacha-neskolkikh-parametrov.html)

mycoding 20.04.2010 12:45

$('canvas').onmousedown = mouseDown; передача нескольких параметров
 
Вот в такой записи
$('canvas').onmousedown = mouseDown;

хотелось бы передать несколько переменных а ничего кроме события мыше не передать.

Подскажите, пожалуйста чем отличается первое от
$('canvas').onmousedown = mouseDown(1,2,3);

Kolyaj 20.04.2010 12:54

В первом мы присваиваем ссылку на функцию, во втором -- результат выполнения функции.

PeaceCoder 20.04.2010 12:54

На сколько я изучил события в jQ даже с передачей парметров у вас ничего не выйдет т.к. вы приписываете обвертке функцию.

$('canvas')[0].onmousedown = function(){mouseDown(1,2,3);}
а еще лучше через методы обвертки
$('canvas').mousedown(mouseDown,[1,2,3]); // вроде так..

mycoding 20.04.2010 13:00

Цитата:

Сообщение от PeaceCoder (Сообщение 52266)
На сколько я изучил события в jQ даже с передачей парметров у вас ничего не выйдет т.к. вы приписываете обвертке функцию.

$('canvas')[0].onmousedown = function(){mouseDown(1,2,3);}
а еще лучше через методы обвертки
$('canvas').mousedown(mouseDown,[1,2,3]); // вроде так..

Вроде вот так
$('canvas').mousedown(mouseDown,[1,2,3]); // вроде так..

Не сработате точно события нет, или вы забыли поставить on?
А вы про JQuery. у меня $() - это не JQuery это просто

function $(id)
{
return document.getElementById(id);
}

x-yuri 21.04.2010 00:09

можно это свести к такому коду
$('canvas').onmousedown = mouseDown.pass(1, 2, 3);

осталось только функцию pass написать

PeaceCoder 21.04.2010 00:36

Цитата:

Сообщение от mycoding
А вы про JQuery. у меня $() - это не JQuery это просто

Ну тогда первый мой вариант
$('canvas').onmousedown = function(){mouseDown(1,2,3);}

mycoding 21.04.2010 07:01

А если ещё надо событие дописать в функцию?
Просто почему то у меня при onmousedown не могу event передать.
т.е. как так наверное должно выгдлядеть
$('canvas').onmousedown = function(){mouseDown(e,1,2,3);}


Но почему то не срабатывает.
Либо я точности передачи при event не знаю.

Octane 21.04.2010 07:39

$('canvas').onmousedown = function(e){mouseDown(e || window.event,1,2,3);}

mycoding 21.04.2010 09:42

А вот та что-то не работает
<img id="imageInfoDialog" class=imgInfo onmousedown="function(e) { mouseDownInfoDialog(e || window.event,'aboutProgram'); };this.style.opacity=1;" onmouseup="this.style.opacity=0.8;" onmouseover="this.style.opacity=0.8;" onmouseout="this.style.opacity=0.5;" src="images/ico_info.png" alt="О программе" title="О программе" />

Skipp 21.04.2010 09:50

попробуй
<img id="imageInfoDialog" class="imgInfo" onmousedown="new function(e) { mouseDownInfoDialog(e || window.event,'aboutProgram'); };this.style.opacity=1;" onmouseup="this.style.opacity=0.8;" onmouseover="this.style.opacity=0.8;"  onmouseout="this.style.opacity=0.5;" src="images/ico_info.png" alt="О программе" title="О программе" />


Часовой пояс GMT +3, время: 08:43.