Kar*_*des 13 javascript selection dom-events
基本上我需要知道何时window.getSelection()更改并将处理程序绑定到此事件.想法?
OBS:请注意,我不打算在INPUT或TEXTAREA上绑定选择更改.我正在谈论窗口中的任何选择.
Tim*_*own 17
没有跨浏览器方式来检测选择的更改.IE(我认为自5.5版本以来)和WebKit/Blink浏览器(例如,过去几年的Chrome,Safari和Opera版本)支持一个selectionchange事件,selectionchange它完全符合您的要求.
Firefox和pre-Blink Opera没有这样的事件,您所能做的只是检测通过键盘和鼠标事件进行的选择更改,这是不能令人满意的(例如,无法从上下文或编辑菜单中检测到"全选"),或者简单地轮询document通过返回的对象Selection(检查选择的window.getSelection(),anchorNode,anchorOffset和focusNode对他们以前的值的属性应该是足够了).
没有跨浏览器事件.
但是,确实存在一个被调用的事件selectionchange,它触发文档中选择的每个更改,但它仅在IE和最近的WebKit(Chrome/Safari)中受支持,因此没有Firefox/Opera.
你可以使用这样的selectionchange事件:
$(document).on('selectionchange', function(e) {
console.log('selectionchange', e.originalEvent);
});
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
6460 次 |
| 最近记录: |