【问题标题】:Select and focus text in <a> tag选择并聚焦 <a> 标签中的文本
【发布时间】:2014-08-05 07:50:23
【问题描述】:

我有一个 div,点击后会被编辑,编辑后的数据会被保存回来。

现在我能够聚焦,但不知何故无法选择所有文本,也无法在文本末尾而不是在开始时获得焦点。

<div class="edit-section"> 
    <a>Name</a>
</div>

 <a href='#' class="edit">Edit</a>

jQuery

 $('.edit').click(function () {
        $(this).siblings('.edit-section').focus();
        $(this).siblings('.edit-section').attr('contenteditable', 'true');
        $(this).siblings('.edit-section').attr('style', 'border:2px solid;');

    });

我尝试了以下但似乎不起作用。

 $(this).siblings('.edit-section').focus(function () { $(this).select() });

编辑:jQuery 新手

【问题讨论】:

  • 你用 $(document).ready(function() { /* code here */ }); 包装了你的 jQuery 脚本吗? ?
  • 请参阅stackoverflow.com/questions/480735/… 并确保阅读 cmets。
  • 为什么使用 div 和 contenteditable 属性?使用&lt;input type="text"&gt;不能实现同样的效果吗?
  • @SilviuBurcea 是的,我有

标签: javascript jquery html css


【解决方案1】:

我不认为你可以在 contenteditables 上调用 .select(),但是当元素获得焦点时尝试使用 execCommand

document.execCommand('selectAll', false, null);

演示:http://jsfiddle.net/F65D3/

【讨论】:

  • 介意你解释一下它为什么有效吗?这对我来说是新的,我想了解它。
  • 这个工作并且选择了文本,但是由于某种原因,当我这样做时编辑的数据没有保存:(
  • 这段代码与数据传输无关,它只是选择文本。也许您需要针对该问题创建另一个问题。
  • 好的,谢谢。但是我如何将焦点设置在文本的末尾而不是开始
  • @Richa 避免在 cmets 中询问后续问题。最好创建一个新问题。
猜你喜欢
  • 2010-10-30
  • 2014-12-27
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-03-31
  • 2011-11-02
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多