javascript - jquery ui 对话框上的 window.getSelection 不会返回 Safari 中的选择

标签 javascript jquery jquery-ui getselection

我正在使用 jquery UI 对话框 (http://jqueryui.com/demos/dialog/) 来显示一段文本。我想在此对话框中选择一些文本并对其进行操作。现在我当前的代码可以在 Chrome 和 Firefox 上运行,但不能在 Safari 上运行。 (尚未在 IE 上测试)

我得到选择并显示如下:

selection = window.getSelection(); 
alert(selection.toString().length);

警报在 Safari 上返回零。我对 javascript/jquery 比较陌生,所以任何指针都会有帮助!谢谢你!

回答:对于看到此内容的任何人...当我在 safari 的对话框中使用事件“mousedown”而不是“click”时,它开始工作。谢谢大家!

最佳答案

Safari 的工作方式似乎有点不同。 getSelection() 不返回普通字符串对象,因此并非所有字符串方法都适用于它返回的对象。此链接有一个解决办法 http://joemaller.com/503/getselection-workaround/

看起来这是一个非常古老的“错误”,因此可能会有更好的建议来代替那里的操作。

关于javascript - jquery ui 对话框上的 window.getSelection 不会返回 Safari 中的选择,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5864915/

相关文章:

javascript - jQuery 自动完成,发生更改事件

jQuery UI(可排序)- 对多个框中的一个禁用排序/拖放功能

javascript - 如何在JavaScript中的窗口和框架之间共享数据

javascript - 显示并停留在鼠标悬停上的 Div - 即使在鼠标悬停时也保持悬停状态

jquery - 如何阻止 JQuery 菜单从屏幕上消失以获得更大的菜单?

javascript - 根据选定的单选按钮显示面板

jQuery 对话框不会显示关闭图标

javascript - 使用请求登录到具有 javascript 登录表单的网站

javascript - 遍历每个数据为 : for loop vs . 的数组的 javascript 数组

javascript - 为什么我的 JavaScript 代码收到“"No ' Access-Control-Allow-Origin' header is present on the requested resources”错误,而 Postman 却没有?