我的Web视图有几个元素,用户可以编辑这些元素来更新OS X主机应用程序中的模型对象。
对于其中一些元素,当调用像webView:shouldChangeSelectedDOMRange:toDOMRange:affinity:stillSelecting:
这样的委托方法时,范围参数位于#document-fragment容器内 - 根本没有任何属性信息。
因此,几乎不可能弄清楚正在编辑什么节点 - 因为所有id属性都被剥离了。
po proposedRange.commonAncestorContainer.path
/#document-fragment/DIV/DIV/DIV/#text
对于其他输入元素,我获得整个DOM路径,所有属性信息都保持不变:
po proposedRange.commonAncestorContainer.path
/#document/HTML/BODY/DIV/DIV/DIV/TABLE/TBODY/TR/TD/DIV/DIV/DIV/DIV/TABLE/TBODY/TR/TD/DIV/DIV/DIV/DIV/DIV/DIV/DIV/DIV/DIV/DIV/DIV/DIV/DIV/DIV/DIV/DIV/DIV/DIV/H1/SPAN/#text
任何可能导致这种行为差异的想法?