Gần đây tôi đã thực hiện đánh dấu rất đơn giản với jQuery và một plugin nổi bật. Nó trông giống như thế này:Làm nổi bật các từ tìm kiếm như Chrome với jQuery
$ ('myButton') click (function() {
$ ('body') nổi bật ($ ('# myInputText') val());...
});
Nhưng tôi tự hỏi làm thế nào tôi có thể làm Chrome như làm nổi bật, tôi có nghĩa là làm nổi bật các chữ cái bất cứ khi nào tôi nhập vào một số chữ cái trong hộp văn bản mà không gửi. Tôi nghĩ rằng có thể sử dụng một sự kiện keyup ... Bất kỳ ý tưởng?
Cảm ơn Andy, tôi thay đổi 'này [0]' để 'tìm kiếm [i]' trong mã của bạn và nó hoạt động nếu có chỉ là một 'p' tag
$(document).ready(function(){
var search = ['p', 'div', 'span'];
$("#highlighter").bind('keyup', function(e){
var pattern = $(this).val();
$.each(search, function(i){
var str = search[i];
var orgText = $(str).text();
orgText = orgText.replace(pattern, function($1){
return "<span style='background-color: red;'>" + $1 + "</span>"
});
$(str).html(orgText);
});
});
});
cảm ơn rất nhiều. mã rất hữu ích! – ilkin