1

漢字間の間隔を強調するために、このコードを取得しました

function replaceSpaces(){
    var segmented = $(this).val().replace(/\s/g, "<span>&emsp;</span>");
    $('#preview').html(segmented);
}
$(document).ready(function(){
    $('.tobesegmented').focus(replaceSpaces);
    $('.tobesegmented').change(replaceSpaces);
});

ただし、スペースバーを押しても変更はトリガーされず、テキストを追加した場合にのみトリガーされます。人がスペースバーを押したときにreplaceSpacesをトリガーする方法はありますか?

おまけ:また、なぜ に<span>&amp;emsp;</span>なるの<span>&amp;amp;emsp;</span>ですか?

4

1 に答える 1

3

次のように、代わりに (または追加で)keyupイベントを使用できます。

$('.tobesegmented').bind('focus keyup', replaceSpaces);

.bind()スペースで区切られた複数のイベント名を取ることもできるので、それを示して、コードを少し削ります:)

おまけとして:別の例として、HTMLがエンコードされるため.text('&')、要素は実際にHTMLでレンダリング&amp;されます:)

于 2010-08-05T17:14:52.253 に答える