【问题标题】:Selecting text using Javascript in bootstrap modal dialog is not working in IE11. But, works in Chrome在引导模式对话框中使用 Javascript 选择文本在 IE11 中不起作用。但是,在 Chrome 中工作
【发布时间】:2019-08-14 19:55:44
【问题描述】:

我正在处理一项任务,其中在按钮单击事件中选择了 div 中的文本。如果 div 在引导模式对话框中,则选择不起作用。

以下代码适用于 chrome,但不适用于 IE11。

小提琴:https://jsfiddle.net/b8thg39u/5/

代码:

$('#BtnSelect').on('click', function(){
    SelectText("DivText");
 });


$('#BtnModalSelect').on('click', function(){
    SelectText("DivModalText"); 
  });

  function SelectText(elementId) {
    let elementHtml = document.getElementById(elementId);

    let range = document.createRange();
    range.selectNodeContents(elementHtml);

    let selection = window.getSelection();
    selection.removeAllRanges(); //remove any previous selection
    selection.addRange(range); // add range to selection object to select it        
}

任何建议将不胜感激。

【问题讨论】:

  • 选择文本后,您的意图是什么?要复制吗?
  • @plumwd,是的,我有一个单独的方法。

标签: javascript jquery html twitter-bootstrap bootstrap-modal


【解决方案1】:

这应该可行:

https://jsfiddle.net/plumwd/v0odtujb/47/

       $('#BtnSelect').on('click', function(){

        SelectText("DivText")
   });

    $('#BtnModalSelect').on('click', function(){

   SelectText("modalTxt");
  })

   function SelectText(elementId) {

        let elementHtml = document.getElementById(elementId);

        elementHtml.select();



    }

在您的 div 中创建一个输入,然后选择该输入。这适用于跨浏览器。您可以将输入设置为没有边框,使其看起来像常规文本。

【讨论】:

  • 在 IE 11 中没有它不起作用。但是,如果您从浏览器控制台运行原始代码(即: SelectText("DivModalText"); )它可以工作!!!!!!
  • @plumwd,在 IE11 的模态窗口中仍然不起作用。我错过了什么吗?
  • 编辑了我上面的评论。
猜你喜欢
  • 1970-01-01
  • 2014-08-24
  • 2015-12-13
  • 2020-07-28
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多