下面的代碼在IE,FF,Chrome和Safari中運行得很好,但是我想知道它在擴展到很多用戶時的實際效率以及它是否可以被屏幕閱讀器/特殊需求用戶/等訪問?具體來說,是否有更好的方式來編寫jQuery,以便使用更少的$(this)引用,並且這甚至會導致使用任何性能問題?另外,如果將標籤上的顯示設置爲無,則會限制使用屏幕閱讀器的人員的可訪問性。當爲了這個目的而加載頁面時,我添加了title屬性,但是這樣做甚至可以幫助/是否是一個好主意?另外,我知道,如果javascript被禁用,所有這些都沒用,但只是想知道這裏。這個jQuery/HTML代碼中的性能/可訪問性問題?
<html>
<head>
<title></title>
<style type="text/css">
fieldset {
border: none;
padding: 10px;
width: 600px;
margin-top: 5px;
}
label {
display: none;
}
input {
width: 150px;
margin: 5px;
float: left;
display: block;
}
br {
clear: both;
}
</style>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js"></script>
<script type="text/javascript">
$(document).ready(function() {
GetInputLabels();
$("input").focus(function() {
if ($(this).val() == $(this).prev("label").text()) {
$(this).val('').css("color", "#000");
}
});
$("input").blur(function() {
if ($(this).val() == '') {
$(this).val($(this).prev("label").text()).css("color", "#bbb");
}
});
function GetInputLabels() {
$("input").each(function() {
var label = $(this).prev("label").text();
$(this).val(label).css("color", "#bbb").attr("title", label);
});
}
});
</script>
</head>
<body>
<form>
<fieldset>
<label for="fname">First Name</label>
<input id="fname" type="text" /> <br/>
<label for="lname">Last Name</label>
<input id="lname" type="text" /> <br/>
<label for="email">Email</label>
<input id="email" type="text" /> <br/>
</fieldset>
</form>
</body>
</html>
這些答案適合我。謝謝大家。 – ryanulit