У меня написан короткий скрипт, который отлично работает на Chrome:
function updateSentence(){
$(document).ready(function() {
t = event.target.id;
$("#S"+t).html($("#"+t).val());
});
}
Однако в Firefox событие не определено.Я нашел несколько похожих вопросов, которые предполагали, что событие должно быть передано в качестве параметра функции:
function updateSentence(event){
$(document).ready(function(event) {
t = event.target.id;
$("#S"+t).html($("#"+t).val());
});
}
Тем не менее, для меня это решение не решает проблему Firefox, и оно фактически нарушает то, какэто работает в Chrome.В Chrome все заканчивается тем, что event.target
не определяется при их передаче.
Что я делаю не так?
Получив несколько комментариев, я понял, что так и былодумать о jQuery вообще было неправильно.Я не хотел, чтобы $(document).ready
вызывали при каждом обновлении предложения.Очистка функции с помощью этих знаний я закончил:
function updateSentence(){
t = event.target.id;
$("#S"+t).html($("#"+t).val());
}
Это все еще корректно обновляет предложение в Chrome, но target
по-прежнему не определено в Firefox.Что мне нужно сделать, чтобы заставить это работать в Firefox?И я все еще делаю что-то в корне неправильно в jQuery?
Кроме того, чтобы ответить на вопрос в комментариях, искомое событие - это событие onchange
, которое вызвало updateSentence()
.Это следует вызывать при изменении текстового поля.
(я все еще новичок в jQuery и JavaScript в целом, и я уверен, что яЯ просто делаю простую ошибку.)
Я нашел свой ответ.Я напишу через пару часов, когда сайт позволит мне.