사용자가 입력 할 수있는 페이지 입력란이 있습니다. 사용자가 입력 할 때 텍스트의 섹션을 강조하고 싶습니다. 일을 단순하게하기 위해 나는 지금 모든 모음을 강조하려고 노력하고 있습니다.사용자가 입력 할 때 텍스트 섹션을 강조 표시하려면 어떻게해야합니까?
코드의 첫 번째 부분은 this question에서입니다 :
$('[contenteditable]').live('focus', function() {
var $this = $(this);
$this.data('before', $this.html());
return $this;
}).live('blur keyup paste', function() {
var $this = $(this);
if ($this.data('before') !== $this.html()) {
$this.data('before', $this.html());
$this.trigger('change');
}
return $this;
});
어떤에서 그때 this을 작성할 수 있습니다
var magicRegex = /[aeiou]/gi;
$('#message').change(function() {
$(this).find('br').replaceWith('\n');
var message = $(this).text();
message = message.replace(magicRegex , '<mark>$&</mark>');
message = message.replace(/\n/gi, '<br />');
$(this).html(message);
}).change();
이 코드는 사용자 유형으로 모음을 강조한다. 그러나 강조 표시가 업데이트 될 때마다 필드 초점이 손실되고 사용자가 다른 문자를 다시 입력해야합니다.
어떻게 해결할 수 있습니까?
$ ('# this')를 추가하십시오. 초점(); 포커스를 유지하기 위해 메시지를 업데이트 한 후 –
'$ (this) .focus()'를 의미합니까? 나는 그것을 시도했지만, 효과가 없었다. – Eric
죄송합니다, 늦은 밤 여기 축하해. 이상한 소리. 미안, 나 한테 좋은 설명이 없어. 희망을 찾을 수있는 대답을 찾으십시오. :) –