В качестве предложения вы можете потратить некоторое время и посмотреть на jQuery, поскольку его способность обрабатывать события в разных браузерах очень хороша. Код для выполнения того, что вы хотели сделать, может быть немного проще.
Я также заметил, что вы устанавливаете английскую фразу на основе номера узла dom. Я вполне уверен, что это не будет надежным с точки зрения кросс-браузер. Вот как я мог бы подойти к этой проблеме, используя jQuery.
Первый HTML
<div class="text">
<span class="french">French Phrase</span>
<span class="english" style="display:none;">English Phrase</span>
</div>
Повторите это столько раз, сколько необходимо.
Теперь немного jQuery
$('.text').bind("mousedown",function() {
$(this).find(".french").hide();
$(this).find(".english").show();
});
$('.text').bind("mouseup",function() {
$(this).find(".english").hide();
$(this).find(".french").show();
});
Эти два оператора jQuery будут связывать события mousedown и mouseup со всеми элементами на странице, которые имеют класс «text». Затем, когда происходит mousedown, он ищет элементы, вложенные в этот элемент с классами «french» и «english», и показывает / скрывает их (устанавливает свойство css «display») для отображения нужного языка.
Так что, если вы хотите рассмотреть jQuery как вариант, вы можете попробовать это.