1

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

我得到选择并显示如下:

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

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

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

4

2 回答 2

0

看起来 Safari 的工作方式有点不同。getSelection() 没有返回正常的字符串对象,因此并非所有字符串方法都适用于它返回的对象。此链接可以解决http://joemaller.com/503/getselection-workaround/

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

于 2011-05-03T04:19:20.663 回答
0

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

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

于 2011-05-03T06:41:11.083 回答