Как сделать щелчок или двойной щелчок по слову на веб-странице для инициирования обработчика событий?

Для страницы как

http://www.answers.com

если пользовательские двойные щелчки по какому-либо слову на странице, раскрывающееся поле обнаружится и показывает определение для того слова.

Я могу думать о способе использовать DOM, пишущий сценарий, чтобы разбить все слова на странице и затем заставить каждого из них пойти под отдельным элементом "промежутка"..., но иначе не являюсь этим верный, что, если весь текст находится под "p" элементом, то "p" узел элемента инициирован для обработки события двойного щелчка, но нет никакого простого способа сказать, на какое слово нажимают?

11
задан Brian Tompsett - 汤莱恩 25 August 2019 в 10:01
поделиться

2 ответа

Вы просто добавляете событие двойного щелчка ко всему документу, например:

function get_selection() {
    var txt = '';
    if (window.getSelection) {
        txt = window.getSelection();
    } else if (document.getSelection) {
        txt = document.getSelection();
    } else if (document.selection) {
        txt = document.selection.createRange().text;
    }
    return txt;
}

$(document).dblclick(function(e) {
    var t = get_selection();
    alert(t);
});

Если бы вы хотели, чтобы это работало только для выбранных абзацев, вы бы изменили селектор на p. myclass или что-то в этом роде. Это зависит от того, что двойной щелчок по слову выделяет его в браузерах. Честно говоря, не уверен, что это именно так, как работает answer.com.

16
ответ дан 3 December 2019 в 05:36
поделиться

Вот статья в блоге, в которой описывается, как это сделать с помощью jQuery. Его тестовая реализация похожа на то, что вы хотите. А именно, двойной щелчок по слову вызывает определение из словаря:

Использование jQuery и двойного щелчка для получения данных

5
ответ дан 3 December 2019 в 05:36
поделиться
Другие вопросы по тегам:

Похожие вопросы: