2013-11-13 4 views
0

Я занимаюсь разработкой мобильного сайта. Я создал динамические кнопки в java-скрипте. Теперь я хочу связать два события с каждой кнопкой.Изменение состояния кнопки при нажатии/отпуске

1) при нажатии, измените фоновое изображение кнопки на img-press.jpg. Примечание. Каждая кнопка имеет свой собственный обычный и нажатый источник изображения.

2) при нажатии, сделайте что-нибудь.

Я очень смущен работать вместе с этими двумя событиями.

ItemsToAdd += '" id="'+ appVal.id +'">\ 
       <a id="' + appVal.id + '" data-role="button" style="background-image:url('+ img_path + appVal.big_icon_normal_path +')" class="custom-button" href="#"></a>\ 
       <p><br><b>' + appVal.name + ' </b><br> ' + appVal.apptypename + '<br><i>' + appVal.price + '</i></p> </div>'; 


$("#appGrid" + catVal.id).append($(ItemsToAdd)); 
$("#appGrid" + catVal.id).trigger("create");  

$("#appGrid" + catVal.id + " > #" + appVal.id + " > #" + appVal.id).bind('click', function() 
{ 
    updateAppInfo(appVal.id); 
}); 

Код отлично работает при событии click. На самом деле я меняю содержимое на кнопку. Теперь я хочу изменить источник изображения при нажатии и переключиться на источник в нормальном режиме, когда нажмите. Изменение контента также должно работать с ним.

Буду признателен Вам за помощь. Заранее спасибо.

+0

привязать его к 'mousedown' -> IMG изменения' mouseup' -> сделать что-то другое. вы также можете использовать 'vmousedown',' vmouseup', 'touchstart',' touchhend'. – Omar

ответ

0

Попробуйте добавить это:

// preload the image 
var preloader = new Image(); 
preloader.src = img_path + appVal.big_icon_mousedown_path; 

// bind the events 
$('.custom-button').bind({ 
    'mousedown' : function() { 
      // you'll need to set appVal.big_icon_mousedown_path or similar 
      $(this).css('background-image', 'url('+ img_path + appVal.big_icon_mousedown_path +')'); 
    }, 
    'mouseup mouseleave' : function() { 
      $(this).css('background-image', 'url('+ img_path + appVal.big_icon_normal_path +')'); 
    } 
}); 
+0

спасибо, приятель ... он работал ... но теперь, когда mousedown правдиво, и я выворачиваю мышь из области кнопки, нажатое состояние не изменяется в нормальном состоянии. Может дать мне подсказку? – naki

+0

Обычно я использую .custom-button: активен в css для изменения фонового изображения. Как я могу использовать это активное свойство здесь. – naki

+0

Просто запускайте ту же функцию для mouseleave как mouseup. См. Обновленный ответ. –

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