\`onselectionchange\` 的 HTML5 事件

新手上路,请多包涵

是否存在与 IE 遗留 onselectionchange 对应的标准跨浏览器 HTML5 事件(因此当当前选择更改时会触发它)?

编辑,我正在寻找跟踪 选择对象 的更改。

原文由 avo 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 502
2 个回答

使用 onchange

我建议使用 jQuery 来避免这些跨浏览器问题,但这并不意味着您应该跳过测试。 看这里

看看 朗吉 window.getSelection = rangy.getSelection

它可能会工作…

 /*
IE 8 getSelection() missing object and properties simple hack
*/
if (window.getSelection == undefined) {                /* IE? */
    var wgS = setInterval(function(){                  /* wait for Rangy */
        if (rangy.initialized) {
            window.getSelection = rangy.getSelection;  /* do the stuff */
            clearTimeout(wgS);                         /* exit */
        }
     }, 10);
}

资料来源:网络

原文由 Deep Sharma 发布,翻译遵循 CC BY-SA 3.0 许可协议

永远不会太晚 :

 // IE
myEditableElement.onselectionchange = onSelectionChange;
// work on chrome, untested on firefox
myEditableElement.addEventListener('focus', function (event) {
  document.addEventListener('selectionchange', onSelectionChange);
});
myEditableElement.addEventListener('focusout', function (event) {
  document.removeEventListener('selectionchange', onSelectionChange);
});

// Event
function onSelectionChange (event) {
  // todo
}

原文由 Scurra Magna 发布,翻译遵循 CC BY-SA 4.0 许可协议

推荐问题