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

发布于 2024-11-04 11:55:18 字数 484 浏览 6 评论 0原文

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

我得到选择并显示如下:

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

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

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

I am using the jquery UI dialog ( http://jqueryui.com/demos/dialog/ ) to display a chunk of text. I want to select some text on this dialog box and manipulate it. Now my current code works on Chrome and Firefox but is not working on Safari. (Not tested on IE yet)

I get the selection and display it as follows:

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

The alert returns zero on Safari. I am relatively new to javascript/jquery so any pointers will help! Thank you!

Answer: For anyone seeing this... when I used the event "mousedown" instead of "click" in the dialog box on safari it started working. Thanks everyone!

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

来日方长 2024-11-11 11:55:18

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

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

It looks like Safari works a little differently. The getSelection() is not returning a normal string object so not all the string methods work on the object it returns. This link has a work around http://joemaller.com/503/getselection-workaround/

It looks like it is a very old "bug" so there may be better advise on what to do instead out there.

喵星人汪星人 2024-11-11 11:55:18

如果您要对选择进行任何操作,我强烈建议您看看 Tim Down 的rangy 库。这家伙是范围/选择对象大师。他的库完成了实现跨浏览器范围选择库的所有具体工作。文档很好,他正在积极致力于该项目(v 1.1 几天前发布)。

(编辑:我不隶属于该项目。我只是使用它并且喜欢它!)

If you are doing anything with selections, I would strongly recommend that you take a look at Tim Down's rangy library. This guy is the Range/Selection object guru. His library does all the nitty gritty work of implementing a cross-browser range selection library. The documentation is good and he is actively working on the project (v 1.1 came out a few days ago).

(edit: I am NOT affiliated with the project. I just use it and love it!)

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文