Я не знаю, какой способ достичь этого, но у меня есть решение, которое будет работать, хотя оно уродливо.
Вы можете обернуть каждую букву вашего div
текстом в поле let span
и добавить уникальные идентификаторы для каждой буквы. Затем вы подключаете обработчики событий для тех элементов span
, а не весь div, и на основе идентификатора span вы можете указать, какой символ был этим.
Все это можно сделать в JS, но, как я уже сказал, это не идеальное решение.
Вот пример (я добавил test
id в div, чтобы мне было легче).
var letters = $('#test').text();
var spans = '';
for (var i = 0; i < letters.length; i++) {
spans += '<span id="id' + i + '">' + letters[i] + '<span>';
}
$('#test').html(spans);
$('span[id^=id]').click(function() {
alert('Clicked char: ' + (Number($(this).attr('id').substring(2)) + 1));
return false;
});
Вы также можете дать ему попробовать на моем demo.
Я хотел бы добавить, что расщепление в пролетах должно быть сделано JQuery, а не на фактическом HTML – Andrey
Это то, что я написал в своем ответе. – RaYell