Javascript 单击链接时突出显示输入中的文本

Javascript 单击链接时突出显示输入中的文本,javascript,focus,highlighting,Javascript,Focus,Highlighting,我有这个可点击的链接 我有一个,点击链接后会显示出来 <input id="geo_title" type="text" value="some value" class="geo_title" style="display:none" /> 但可悲的是,这并没有集中精力。我想要的是,单击链接后,的值属性将高亮显示,我不必单击元素就可以输入内容。我错过了什么?非常感谢你的帮助。谢谢 注:实际代码。 我已经有另一个这样的活动了 $('#link').live('click',fun

我有这个可点击的链接

我有一个
,点击链接后会显示出来

<input id="geo_title" type="text" value="some value" class="geo_title" style="display:none" />
但可悲的是,这并没有集中精力。我想要的是,单击链接后,
值属性将高亮显示,我不必单击元素就可以输入内容。我错过了什么?非常感谢你的帮助。谢谢

注:实际代码。 我已经有另一个这样的活动了

$('#link').live('click',function(){
        $(this).hide();
        $('span.title').hide();
        $('#geo_title').removeAttr('style').removeClass('active_geo_title').css({'padding-top':'10px','padding-bottom':'10px','padding-right':'10px','width':'120%'});


        $("input#geo_title").select();

        return false;
    });
改用
。选择()

$('#link').click(function(){
    $("#geo_title").select();
});

试试这个:

$('#link').click(function() {
    $(this).hide();
    $('.title').hide();
    $("#geo_title").css({
        'padding-top': '10px',
        'padding-bottom': '10px',
        'padding-right': '10px',
        'width': '120%',
        'display' : 'block'
    });
    $('#geo_title').select();
});

我希望这真的没有希望,但后来有人用扳机给了我小费。所以我写了这个

$('#geo_title)。单击(函数(){
这是select();
});

在我的另一个使用
.live()
的事件中,我调用上面的代码以便触发它。所以我最后的代码是

$('#link').live('click', function () {
$(this).hide();
$('span.title').hide();
$('#geo_title').removeAttr('style').removeClass('active_geo_title').css({
    'padding-top': '10px',
    'padding-bottom': '10px',
    'padding-right': '10px',
    'width': '120%'
});

$("#geo_title").click();

return false;
});

$('#geo_title').click(function(){
    this.select();
});

谢谢大家

只是一个小小的观察:如果你有一个元素id,不要在前面放任何东西——不必要地减慢选择器的速度,因为id已经是唯一的了。PS:我没有在这个问题上点击“-1”。你确定文本字段在聚焦之前是完全可见的吗?尝试使用setTimeout进行调试,延迟1秒。我正在使用select now,但它仍然不起作用。除此之外,在我的实际代码中,输入是隐藏的。单击链接后,它将显示。这可能是它不起作用的原因吗?是的。你能发布一个你正在使用的实际例子吗?我看到了你编辑的代码,但是你在哪里隐藏和显示输入?输入一开始是隐藏的。最初它包含style=display:none。只有在点击链接后,它才会显示出来。同样的问题是,点击后输入没有显示,或者显示但没有突出显示。我尝试根据新代码重现您的情况,只要在选择之前显示输入,它就可以工作。请看一下在.live()函数上使用.on()。LIVER()有一些性能问题需要考虑。有关更多信息,请参阅本文:
$('#link').live('click', function () {
$(this).hide();
$('span.title').hide();
$('#geo_title').removeAttr('style').removeClass('active_geo_title').css({
    'padding-top': '10px',
    'padding-bottom': '10px',
    'padding-right': '10px',
    'width': '120%'
});

$("#geo_title").click();

return false;
});

$('#geo_title').click(function(){
    this.select();
});