0
<div id="form_title">
    <h1>Form Title</h1>
</div>

これは私の HTML コードです。ユーザーが h1 の値を変更して保存できるテキスト ボックスを表示したいと考えています。

これが私の試みです。

$('#form_title').click(function() {
    $(this).html('<input id="form_title_value" name="form_title_value"
                         type="text" placeholder="Enter Form Title..."> ');
});​

問題は、テキストボックスをクリックするとフォーカスが失われることです。

4

1 に答える 1

1

これを使って:

$('#form_title').one('click', function() {
    $(this).html('<input id="form_title_value" name="form_title_value" 
                         type="text" placeholder="Enter Form Title...">')
               .find('input').focus();
})​;

ライブデモ

問題は、クリックするたびに div の innerHTML をオーバーライドすることです。
したがって、「フォーカスを緩める」だけでなく、クリックするたびに innerHTML が失われます。

one一度だけ起動するコールバックをアタッチできます。


この DEMOも試すことができます。これは、<h1>テキストを変更する方法を示しています

于 2012-05-06T06:41:37.403 に答える