【问题标题】:Textarea add symbol to current cursor pointer androidTextarea将符号添加到当前光标指针android
【发布时间】:2016-05-04 00:12:41
【问题描述】:

我正在尝试将文本添加到当前指针中的 textarea 位置,这是 PC 的代码,可以正常工作:

function getCursor(input){
    var result = { start: 0, end: 0 };
    if (input.setSelectionRange) {
        result.start= input.selectionStart;
        result.end = input.selectionEnd;
    }
    else if (!document.selection) { return 0; }
    else if (document.selection && document.selection.createRange) {
        var range = document.selection.createRange();
        var stored_range = range.duplicate();
        stored_range.moveToElementText(input);
        stored_range.setEndPoint('EndToEnd', range);
        result.start = stored_range.text.length - range.text.length;
        result.end = result.start + range.text.length; //}
    }
    return(result);
} 
function setCursor(txtarea, start, end){
    if(txtarea.createTextRange) {
        var range = txtarea.createTextRange();
        range.move("character", start);
        range.select();
    } else if(txtarea.selectionStart) {
        txtarea.setSelectionRange(start, end);
    }
}
function superChar(){
    start_tag ='"'
    my_text = $('#codeText').get(0);
    my_text.focus();
    var scrtop = my_text.scrollTop;
    var cursorPos = getCursor(my_text);

    if (cursorPos.start==cursorPos.end) {
        var nuCursorPos=cursorPos.start+start_tag.length;
        my_text.value = my_text.value.substring(0,cursorPos.start) + start_tag + my_text.value.substr(cursorPos.start);
        setCursor(my_text, nuCursorPos, nuCursorPos);
    }
    else {
        var txt_pre=my_text.value.substring (0,cursorPos.start);
        var txt_sel=my_text.value.substring(cursorPos.start, cursorPos.end);
        var txt_aft=my_text.value.substring(cursorPos.end);
        my_text.value = txt_pre + start_tag + txt_sel + end_tag + txt_aft;
        var nuCursorPos=String(txt_pre + start_tag + txt_sel + end_tag).length;
        setCursor(my_text, nuCursorPos, nuCursorPos);
    }
    if (scrtop) my_text.scrollTop=scrtop;
}

但在移动设备 (android) 上,它总是将符号添加到 文本。我用谷歌搜索了它,但没有找到任何结果。

【问题讨论】:

    标签: javascript android html cordova


    【解决方案1】:

    似乎在 Android 上获得光标选择并不简单。查看此question 进行更多讨论。

    【讨论】:

      猜你喜欢
      • 2020-10-12
      • 1970-01-01
      • 2021-10-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-04-10
      • 1970-01-01
      相关资源
      最近更新 更多