【问题标题】:Is there any alternative method for isTextSelected() in jquery or javascript.?在 jquery 或 javascript 中是否有 isTextSelected() 的替代方法。?
【发布时间】:2015-10-23 21:56:25
【问题描述】:

在 jquery 或 javascript 中 following code 有什么替代方法吗?

function isTextSelected(input) {
  if (typeof input.selectionStart == "number") {
    return input.selectionStart == 0 && input.selectionEnd == input.value.length;
  } else if (typeof document.selection != "undefined") {
    input.focus();
    return document.selection.createRange().text == input.value;
  }
}
<input id="text_selected" type="text" value="Select Text" />
<input onmousedown="console.log(isTextSelected(document.getElementById('text_selected')));" type="button" value="Selected or Not" />

【问题讨论】:

  • 原来的isTextSelected()方法是什么?
  • isTextSelected(id) 如果在文本框中选择了文本,则返回布尔值。 [链接]scratchinginfo.net/…
  • 为什么需要替代品?
  • 所以改成function isTextSelected(ID) { var input = document.getElementById(ID); ...
  • 如果只需要看是空还是改:var field = document.getElementById('text_selected'); if (field.value=="" || field.value==field.defaultValue) alert("empty or not changed");

标签: javascript jquery


【解决方案1】:

如果只需要看是空还是变:

var field = document.getElementById('text_selected'); 
if (field.value=="" || field.value==field.defaultValue) {
  alert("empty or not changed");
}

您可以添加修剪:

if (field.value.trim()=="" 

或者使用 jQuery:

if ($.trim(field.value)=="" 

【讨论】:

    【解决方案2】:

    我不确定你从哪里得到isTextSelected() 方法,但也许你应该看看Window.getSelection()https://developer.mozilla.org/en-US/docs/Web/API/Window/getSelection

    也许这也有帮助:How to get selected html text with javascript?

    【讨论】:

    【解决方案3】:

    如果你的意思是从下拉列表中选择文本,你可以使用这个:

    $("#yourdropdownid option:selected").text();
    

    【讨论】:

    • 不,不是来自下拉菜单,而是文本框。
    • 所以使用:$('#textboxid').val()
    • 我不想要这个值,我只想检查它是否为空,或者值是否已更改。
    • if($('#textboxid').val() == ""){//这里的代码在输入为空时有效}
    猜你喜欢
    • 2020-12-27
    • 1970-01-01
    • 1970-01-01
    • 2012-02-03
    • 2021-11-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-09-20
    相关资源
    最近更新 更多