无法在单击即可编辑的jQuery中选择完整文本

无法在单击即可编辑的jQuery中选择完整文本,jquery,html,Jquery,Html,我正在使用一个插件jquery.editable-1.3.3.min.js,我正在创建可编辑输入控件,如 HTML: <h6 id="editable_field">Add Note Here...</h6> JS: $('#editable_field').editable(); 所以上面的js不起作用-只要我点击editable_字段,它的所有内容都不会被选中。有解决办法吗 这是你的电话号码 单击时,我希望选中/突出显示整个文本您必须使用标记,即 <h6

我正在使用一个插件jquery.editable-1.3.3.min.js,我正在创建可编辑输入控件,如

HTML:
<h6 id="editable_field">Add Note Here...</h6>

JS:
 $('#editable_field').editable(); 
所以上面的js不起作用-只要我点击editable_字段,它的所有内容都不会被选中。有解决办法吗

这是你的电话号码 单击时,我希望选中/突出显示整个文本

您必须使用标记,即

<h6 id="editable_field">Add Note Here...</h6>
在此处添加注释。。。
应该是

<input id="editable_field">Add Note Here...</input>
在此处添加注释。。。

您需要做的就是选择
输入,而不是像这样选择
h6

HTML

编辑: 这绝对是有点骇客。。。但它是有效的

最终代码: HTML


文本选择应该在jquery.editable创建输入后进行。Jquery.editable将在单击时创建输入,因为它绑定到的id。因此,需要一个计时器,以便有足够的时间让editable创建输入,然后启动javascript函数在新创建的输入中选择文本

<h6 id="editable_field">Add Note Here...</h6>
$('#editable_field').editable(); 

$('#editable_field').click(function () {
    setTimeout(function() { $('#editable_field input').select(); }, 0);
});
在此处添加注释。。。
$(“#可编辑_字段”).editable();
$(“#可编辑_字段”)。单击(函数(){
setTimeout(函数(){$('#可编辑_字段输入')。选择();},0);
});

值得解释的是:当用户在元素中进行文本选择时,选择事件被发送到元素。此事件仅限于字段和框。这也不起作用,在这样做时,文本会被选中一段时间,然后选择/突出显示消失。我希望它能继续存在,而且很可能是由于可编辑性()而消失function@MelanciaUK-我正在使用type=“hidden”,因为我只想在某些其他事件上显示输入文本框-这样行吗?@comeOnGetIt在您的问题中包含您想要实现的确切目标,而不是在此处以及更新后的问题中,您可以尝试将此小提琴编辑为指向正确的URL。我观察到它第一次工作,但下一次不再工作。使用
setTimeout
的最新版本如何?这对我来说一直有效。我想它可能是在
jquery.editable
创建
输入之前尝试选择文本。因此,我最初尝试了100毫秒的延迟,然后减少它,看看它是否仍然有效;它做到了:)
<h6 id="editable_field">Add Note Here...</h6>
$('#editable_field').editable(); 

$('#editable_field').click(function () {
    $(this).find('input').select();
});
$('#editable_field').click(function () {
    setTimeout(function() { $('#editable_field input').select(); }, 0);
});
<h6 id="editable_field">Add Note Here...</h6>
$('#editable_field').editable(); 

$('#editable_field').click(function () {
    setTimeout(function() { $('#editable_field input').select(); }, 0);
});
<h6 id="editable_field">Add Note Here...</h6>
$('#editable_field').editable(); 

$('#editable_field').click(function () {
    setTimeout(function() { $('#editable_field input').select(); }, 0);
});