按下/释放时更改按钮的状态

时间:2013-11-13 16:18:22

标签: javascript jquery html5 css3 jquery-mobile

我正在开发一个移动网站。我在java脚本中创建了动态按钮。现在我想用每个按钮绑定两个事件。

1)按下时,将按钮的背景图像更改为img-pressed.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事件上运行正常。实际上我正在改变点击按钮上的一些内容。现在我想在按下时更改图像的来源,并在释放按下时将源更改为正常。内容更改也应该适用。

我将感激你的帮助。提前谢谢。

1 个答案:

答案 0 :(得分: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 +')');
    }
});