大家登陸一些網站或論壇時,經常會被要求先浏覽和确認“使用者協定”。“使用者協定”底部通常會設定一個“我已閱讀并同意”複選框,勾選了該複選框,“登陸”按鈕才可用。
如下圖所示,勾選“I have read and accept.”複選框,Login按鈕才會相應click事件,登陸成功後切換到歡迎畫面。

通常情況我們是怎麼實作的呢,很多同學會想到用javascript設定按鈕的disabled屬性。這當然是一種不錯的方法,不過我們用JQuery的話,代碼會更簡潔,同時我們的逼格也上去了,哈哈。
對于按鈕來說,JQuery提供了bind()方法和unbind()方法,使我們可以随時随地,根據需要給按鈕添加或删除Click事件。
詳細代碼如下:
<html>
<style type="text/css">
.hide {
display: none;
}
.show {
display: block;
}
</style>
<script language=JavaScript src="js/jquery.min.js" type=text/javascript></script>
<script>
$(document).ready(function() {
$('#logoutBtn').addClass('hide');
$('#logoutBtn').bind('click', function() {
$('#title').html('Agreements<br>1. ...<br>2. ...<br>3. ...');
$('#loginBtn').removeClass('hide').addClass('show');
$('#confirm').removeClass('hide').addClass('show');
$('#logoutBtn').removeClass('show').addClass('hide');
});
});
function doCheck() {
if ($("input[type='checkbox']").is(':checked')) {
$('#loginBtn').bind('click', function() {
$('#title').text('Welcome to our site!');
$('#loginBtn').removeClass('show').addClass('hide');
$('#confirm').removeClass('show').addClass('hide');
$('#logoutBtn').removeClass('hide').addClass('show');
});
} else {
$('#loginBtn').unbind('click');
}
}
</script>
<body>
<p id="title">
Agreements<br>1. ...<br>2. ...<br>3. ...
</p>
<div id="confirm">
<input id="cbx" type="checkbox" onclick="doCheck()" />I have read and
accept.
</div>
<input id="loginBtn" type="button" value="Login" />
<input id="logoutBtn" type="button" value="Logout" />
</body>
</html>
代碼中還用到JQuery的幾個方法,簡單說明一下:
html()方法:設定被選擇元素的html内容,相當于document.getElementById(“#xxx”).innerHTML=”xxx”。
text()方法:設定被選擇元素的文本内容,相當于document.getElementById(“#xxx”).innerText=”xxx”。
removeClass():被選擇元素移除一個CSS樣式。
addClass():被選擇元素添加一個CSS樣式。
$(“input[type=’checkbox’]”).is(‘:checked’):判斷複選框是否選中。