我们有一个组件,允许用户在我们的网站上保存某些文本的突出显示。它可以在我们所有其他浏览器上正常工作,但是在ios的Safari中,它无法捕获任何选择。
我们正在使用Vue,这是表单字段的代码。您可以看到我们对@ select.native事件有反应。
<b-form-textarea
v-show="!highlight || editing"
v-model="highlightableText"
@select.native="selectText"
:readonly="true"
:no-resize="true"
rows="10"
ref="highlightable_textarea"
class="ubcgs-highlightable-text"
>
</b-form-textarea>
selectText方法类似于:
selectText(e) {
this.selecting = true;
this.selectionStart = e.target.selectionStart;
this.selectionEnd = e.target.selectionEnd;
},
在我的iPhone上,我可以按常规方式选择一些文本,将其复制并粘贴到另一个窗口中。但是,据我所知,从未调用过selectText方法。例如,当true时,this.selecting将显示一个单独的文本区域,但不会显示。
我发现的各种答案和博客似乎都表明这种方法应该行得通,但这是几年前的事了,苹果公司更喜欢定期进行更改。还有其他我应该听的事件,或者其他选择方法吗?
答案 0 :(得分:0)
我发现添加事件“ touchend”有效。工作版本:
<b-form-textarea
v-show="!highlight || editing"
v-model="highlightableText"
@select.native="selectText"
@touchend.native="selectText"
:readonly="true"
:no-resize="true"
rows="10"
ref="highlightable_textarea"
class="ubcgs-highlightable-text"
>
</b-form-textarea>