1

我知道这个问题对你们来说可能听起来很愚蠢,但我是一个初学者,所以需要一些专家的帮助,我想问一下,按下按钮时是否可以改变背景颜色,我的意思是当点击它时它会改变为不同的背景-color 和释放时设置为默认值(通过鼠标按下时)。我正在尝试,但是当我将功能设置为在“按键”上触发时,该功能不会触发,但是当我使用“点击”时,它可以工作,但在释放时不会更改为默认值...请帮助我..

javascript/jquery:

function initAll(){
$("#submitBtn").on('keypress', sendMessage);
}

function sendMessage(){
    $("#submitBtn").css('background-color', 'Red');
}

html:

<input type="button" id="submitBtn" name="submitBtnnm" value="Send" />
4

5 回答 5

7

你不需要 JS - 只是:active状态

#submitBtn:active {
    background: red;
}

演示

于 2012-09-19T16:53:51.320 回答
0

Have you tried the following?:

$('document').ready(function() {
    $('#submitBtn').mousedown(function() {
        $('#submitBtn').css('background-color', 'Red');
    }).mouseup(function() {
        $('#submitBtn').css('background-color', 'Blue');
    });
});

Basically, when the user presses the button it turns red, and when the user stops pressing it it turns blue.

Hope this helps. :)

于 2012-09-19T17:00:00.037 回答
0

您应该像这样使用 css 类,并在单击按钮时使用 jquery 将类添加到 body 标签

.changeback{
background-color: #333333;
background-image: url('images/background9.jpg');
 }

jquery代码应该是这样的

$("#send").click(function(){
  $('body').addClass('changeback');
}):
于 2012-09-19T16:56:41.230 回答
0

我会这样做(在我看来更容易阅读):

function initAll() {
   $("#submitBtn").click(sendMessage);
}

function sendMessage () {
   $("#submitBtn").css('background-color', 'red');
}

确保您initAll()$(document).ready(). 否则,当页面上没有匹配的元素时,代码可能会运行。

如果您需要更多建议,请发表评论!

于 2012-09-19T16:53:10.210 回答
0

试试 jQuery mousedown 和 mouseup 函数:http ://api.jquery.com/mousedown/和http://api.jquery.com/mouseup/

$(document).ready(function(){
  $("button").mousedown(function(){
    $(this).css("background", "red");        
  });
  $("button").mouseup(function(){
    $(this).css("background", "green");        
  });    
});

http://jsfiddle.net/CdzSB/

于 2012-09-19T16:53:44.313 回答