HTML内容可编辑div:选择文本事件

unn*_*nni 10 html javascript jquery html5 javascript-events

我有一个令人满意的div

<div class="editable" contenteditable="true"></div>

用户可以在那里输入任何内容.当用户在div中进行选择时,有没有办法获取事件.

就像是:

$('.editable').onSelection(function(e, selection){alert(selection);}
Run Code Online (Sandbox Code Playgroud)

Ell*_*ott 12

你可以尝试这样的事情:

没有'selectend'事件,但是当用户通过观看mouseup事件完成选择时我们可以解决

$(function () {
    $('.editable').on('selectstart', function () {
        $(document).one('mouseup', function() {
            alert(this.getSelection());
        });
    });
});?
Run Code Online (Sandbox Code Playgroud)

  • 您可能还想在与`mouseup`相同的事件处理程序中添加`keyup`,以便使用键盘选择文本也可以 (3认同)

小智 -2

$('#ta').select(function() {
alert('Handler for .select() called.');
});
Run Code Online (Sandbox Code Playgroud)

.select( handler(eventObject) ) 返回: jQuery 将事件处理程序绑定到“select”JavaScript 事件,或在元素上触发该事件。

.select( handler(eventObject) ) handler(eventObject) 每次触发事件时执行的函数。

.select( [eventData], handler(eventObject) ) eventData将传递给事件处理程序的数据映射。handler(eventObject) 每次触发事件时执行的函数。

检查链接

  • on.select 不会针对 contenteditable 触发。ref: “此事件仅限于 &lt;input type="text"&gt; 字段和 &lt;textarea&gt; 框。” (2认同)