为了突出中文字符之间的间距,我有了这段代码
function replaceSpaces(){
var segmented = $(this).val().replace(/\s/g, "<span> </span>");
$('#preview').html(segmented);
}
$(document).ready(function(){
$('.tobesegmented').focus(replaceSpaces);
$('.tobesegmented').change(replaceSpaces);
});
但是,当我点击空格键时,它会 NOT 触发更改,只有在我添加文本时才会触发。当一个人击中空格键时,有没有办法触发replaceSpaces?
奖励:另外,为什么<span>&emsp;</span>
成为<span>&amp;emsp;</span>
?
答案 0 :(得分:3)
您可以使用keyup
event代替(或另外),如下所示:
$('.tobesegmented').bind('focus keyup', replaceSpaces);
.bind()
也可以将多个事件名称用空格分隔,这样就可以解释掉一些代码:)
对于奖励:因为它为您编写了HTML编码,作为另一个例子,元素上的.text('&')
实际上会在HTML中呈现&
:)