任何人都可以帮我将数据存储在从文本框中提取的数组中。我需要设计一种格式,以便在按下空格时,它应该在空格字符之前显示不同的字体颜色。空间之后的元素应该像往常一样。
编辑:
<html>
<head>
<script src="http://code.jquery.com/jquery-latest.js"></script>
<script>
var x = 0
function abc() {
var a = new Array("a", "b", "c", "d", "e", "f", "g", ..... "h", "x", "y", "z")
document.getElementById("type").value = a[x]
var i = document.getElementById("type").value
var n = i.charAt(i.length - 1)
alert(n)
var n = i.substring(0, i.length - 1)
document.getElementById("type").value = n.concat(a[x]);
if (x >= 0) x++
if (x >= 26) x = 0
}
</script>
</head>
<body>
<!--<input type="text" name="type" id="type" size="100" onkeyup="abc()">-->
<input type="text" name="type" id="type" size="100" onkeypress="abc()">
<div id="log"></div>
另一个尝试:
<script>
e = jQuery.Event("keypress", {
keyCode: 32
});
jQuery('#type').bind('keydown', function (e) {
var s = e.which;
jQuery('#log').html(e.which);
if (s == 8) { //backspace
alert('back space');
}
if (s == 32) { //space bar
alert('space');
var z = document.getElementById("type").value
jQuery('#type').css({
'color': 'blue'
});
}
});
</script>
</body>
</html>
答案 0 :(得分:2)
由于输入中不能有多种颜色,因此您应该没有输入,只有标签,而在用户输入时,您可以捕获事件并附加到该标签。
$("body").keypress(function (e) {
var s = e.which;
var c = String.fromCharCode(e.which);
$("#log").children(":last").append(document.createTextNode(c));
if (s == 32) { // Space
$("#log").children(":last").css({ 'color': 'blue' });
$("#log").append($("<span/>"));
}
});
以下是示例:http://jsfiddle.net/B5wwP/
只需点击结果区域即可开始输入。我只做了空间功能,你需要添加其他东西,比如退格......