Потеря события MouseUp при выпуске не над одним и тем же элементом
У меня проблема со слайдером. Когда я беру обработчик, я изменяю.src изображения, просто чтобы изменить его цвет. Тем не менее, я хочу, чтобы он вернулся к исходному цвету, когда я отпущу кнопку мыши. Я попробовал две вещи.
1) Вернуть его на событие mouseup обработчика: это работает, только если я отпущу кнопку над обработчиком, так что это не решение.
2) Верните его на событие mouseup окна: событие не запускается должным образом. Если я щелкаю и отпускаю в любом месте окна, событие запускается нормально, но если я щелкаю в обработчике, перемещаю курсор в любую другую точку окна и затем отпускаю кнопку, событие не будет запускаться.
Кстати, я использую прототип JS Framework.
Решения? Спасибо
Вот код Я загружаю функцию обработчика, когда документ готов.
function handler()
{
var handler = $('handler');
Event.observe(window, "mouseup", function(){
alert('salta'); //to see when mouseup fires
if(handler.src=='http://localhost/moodle/blocks/videoavatar/eggface/trunk/gripper_o.png'){ //orange
handler.src='http://localhost/moodle/blocks/videoavatar/eggface/trunk/gripper.png';} //grey
});
Event.observe(handler,'mousedown',function(){handler.src='http://localhost/moodle/blocks/videoavatar/eggface/trunk/gripper_o.png';}); //orange
}
3 ответа
Вот код Я загружаю функцию обработчика, когда документ готов.
function handler()
{
var handler = $('handler');
Event.observe(window, "mouseup", function(){
alert('salta'); //to see when mouseup fires
if(handler.src=='http://localhost/moodle/blocks/videoavatar/eggface/trunk/gripper_o.png'){ //orange
handler.src='http://localhost/moodle/blocks/videoavatar/eggface/trunk/gripper.png';} //grey
});
Event.observe(handler,'mousedown',function(){handler.src='http://localhost/moodle/blocks/videoavatar/eggface/trunk/gripper_o.png';}); //orange
}