点击按钮颜色没有改变
我有以下的html代码我想改变onclick按钮的颜色。我使用$("#submitButton").css("background-color","yellow");
但点击时不会改变。点击按钮颜色没有改变
这里是我的html代码
<!DOCTYPE html>
<html>
<head>
<link rel="stylesheet" href="jquery.mobile/jquery.mobile-1.1.0.css" />
<link rel="stylesheet" href="docs/assets/css/jqm-docs.css" />
<link rel="stylesheet" href="docsdemos-style-override.css" />
<script type="text/javascript" charset="utf-8" src="cordova-1.9.0.js"></script>
<script type="text/javascript" src="jquery.mobile/jquery-1.7.2.min"></script>
<script type="text/javascript" charset="utf-8" src="js/main.js"></script>
<script type="text/javascript">
$(document).bind("mobileinit", function()
{
console.log("$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$");
$.mobile.pushStateEnabled = false;
$.mobile.defaultTransition = 'slideup';
});
</script>
<script type="text/javascript" src="jquery.mobile/jquery.mobile-1.1.0.js"></script>
</head>
<body>
<div data-role="page">
<div data-role="header">
<h1>Form Page</h1>
</div><!-- /header -->
<div data-role="content">
<form id="loginForm">
<!-- Wrap Inputs in fieldcontain which will sort out borders and padding, can cause layout to break -->
<div data-role="fieldcontain">
<label for="firstName"> Username: </label>
<input type="text" name="username" value="" id="username" /> <!-- Use id and name values -->
</div>
<div data-role="fieldcontain">
<label for="password"> Password: </label>
<input type="password" name="password" value="" id="password" /> <!-- Use id and name values -->
</div>
<div data-role="fieldcontain">
<label for="dob"> Date of birth: </label>
<input type="password" name="dob" value="" id="dob" /> <!-- Use id and name values -->
</div>
<div data-role="button">
<input type="submit" data-role="button" value="Login" id="submitButton">
</div>
</form>
</div>
<div data-role="footer">
<h4>Footer content</h4>
</div><!-- /footer -->
</div>
<script type="text/javascript">
$(function()
{
$('#submitButton').on('click', function(e)
{
e.preventDefault();
$(this).css("background-color","yellow");
handleLogin();
});
});
</script>
</body>
</html>
在提交按钮,它调用handleLogin()函数,但颜色不改变的点击。任何帮助将不胜感激。
您正在使用提交按钮。这就是为什么点击提交按钮它可能会刷新页面由于表单提交。您可以使用表单onSubmit事件而不是按钮单击。而且如果你想看到背景颜色比使用“return false;”在你的函数中,否则它会再次提交表单。
$(function() {
$('#submitButton').on('click', function(e) {
e.preventDefault();
$(this).css("background-color","yellow");
handleLogin();
});
});
防止从刷新页面的形式,把你的代码中的document.ready(在$(function() {..code here..});
),并且要记住,jQuery的。
编辑:
如果发布新的代码是你的整个文件,你没有handleLogin功能(除非它是在一个外部文件)???
在浏览器(F12)中打开控制台并检查是否有任何错误。
首先,你还没有包括jQuery的...
其次,你可以在你的事件回调添加return false;
,否则页面会刷新,你将看不到任何东西。
尝试的document.ready
$代码(文件)。就绪(函数(){ $( '#提交按钮')。点击(函数(){ $( “#提交按钮”)的CSS( “背景色”, “黄色”); handleLogin(); });} )
你$('#submitButton').click(function()
应该内:
$(function() {
/*Your function*/
})
OR
$(document).ready(function() {
/*Your function*/
})
OR
$(window).load(function() {
/*Your function*/
})
我不能使用第二个选项。我尝试了第一次和第三次,但仍然没有改变颜色。 – PPD 2012-07-10 05:30:24
在哪个浏览器中查看您的页面以此代码? – 2012-07-10 05:37:34
是否包含jQuery UI的?.. – maxhud 2012-07-10 04:49:05
我想这是因为你的形式做了'后back'。如果您正在处理来自JS的登录,请在按钮点击代码的末尾包含一个'return false;'行。 – 2012-07-10 04:50:27
我已经整理好了你的代码,但是我没有在html中看到jQuery的任何链接。 – 2012-07-10 04:53:18