У меня на экране два поля, оба с динамически генерируемым текстом. Первый - это параграф типа mad-libs, в котором вы можете щелкнуть слова в нижней половине экрана и заменить их словами в верхнем поле. (Они связаны атрибутом «data-id» в коде здесь.) Я хочу, чтобы слова в нижнем поле были подчеркнуты, когда я наведу на них курсор мыши, и соответствующее слово в верхнем поле было выделено жирным шрифтом. Обработчик mouseenter для hover отлично работает во всех моих браузерах. Но обработчик mouseleave, похоже, игнорируется в IE8, потому что слова остаются жирным шрифтом и подчеркиваются в IE8.
<script>
$(document).ready(function() {
function hoverIn () {
var id = $(this).attr('data-id');
var txt = $('.fullText span[data-id='+id+']').text();
var vartxt = $(this).text();
$('.fullText span[data-id='+id+']').html('<b>'+txt+'</b>');
$(this).html('<u>'+vartxt+'</u>');
}
function hoverOut () {
var id = $(this).attr('data-id');
var txt = $('.fullText span[data-id='+id+']').html();
var newtxt1 = txt.replace(/<b>/gm, '');
var newtxt = newtxt1.replace(/<\/b>/gm, '');
var vtxt = $(this).html();
var newvtxt1 = vtxt.replace(/<u>/gm, '');
var newvtxt = newvtxt1.replace(/<\/u>/gm, '');
$('.fullText span[data-id='+id+']').html(newtxt);
$(this).html(newvtxt);
}
$('body').load( function(){
$('#analyzed').addClass('analyzed');
});
$(".confWords span").bind('click', (function () {
var id = $(this).attr('data-id');
$('.fullText span[data-id='+id+']').text($(this).text());
}));
$(".confWords span").hover( hoverIn, hoverOut );
// Disregard the next
$("#reset").bind('click', (function() {
$('.orig').trigger('click');
}));
$("#edit").bind('click', (function() {
history.back(-1);
}));
});
</script>