簡體   English   中英

以編程方式選擇文本Safari

[英]Selecting text Programmatically Mobile Safari

我在選擇網站上的文本時遇到問題。 我有一個div塊,並希望在iPhone / Android上觸摸div塊時選擇里面的所有文本。 到目前為止,我已經嘗試了以下方法: 在iPhone的移動Safari中選擇文本

像這樣:

<div ontouchstart="this.selectionStart=0; this.selectionEnd=this.value.length;">

我還嘗試根據不同來源的建議在JS文件中創建一個函數來執行此操作:

的HTML

<div ontouchstart="touchStart(event, this);>

JS

function touchStart(event, obj) {
  var range = window.getSelection();
  var sel = window.getSelection()

  range.setStart(obj, 0);
  range.setEnd(obj, obj.innerHTML.length);
  sel.removeAllRanges();
  sel.addRange(range);
  //range.execCommand("BackColor", false, colour);
}

到目前為止,這兩種方法似乎都不起作用。 在iPhone上的Safari上進行測試時,我似乎使用第二種方法的一個錯誤是:

JavaScript: Error undefined TypeError: 'undefined' is not an object

selectionStartselectionEnd僅是文本區域和文本輸入的屬性,因此它們不存在。 Mobile Safari與所有其他主要瀏覽器具有相同的選擇API,但是只有在可見選擇已顯示的情況下,您才可以對其進行選擇。

HTML:

<div ontouchstart="selectElementContents(this);">

JS:

function selectElementContents(el) {
    var sel = window.getSelection();
    var range = document.createRange();
    range.selectNodeContents(el);
    sel.removeAllRanges();
    sel.addRange(range);
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM