これはコードです: Jsfiddle
- リンクを dblclicking するか、
a
内部をクリックしてテキスト値を編集できるフォームがあります。div
a
- Onblur のテキスト値には、1. の条件で表示される入力ボックスの値が割り当てられます
a
。
問題:入力を空にしてぼかすと、a
のテキストがに設定され""
ます。この時点で、div
周囲が崩壊し、ユーザーがアクセスできなくなります。
この崩壊が起こらないようにするにはどうすればよいでしょうか。
これはコードです: Jsfiddle
a
内部をクリックしてテキスト値を編集できるフォームがあります。div
a
a
。問題:入力を空にしてぼかすと、a
のテキストがに設定され""
ます。この時点で、div
周囲が崩壊し、ユーザーがアクセスできなくなります。
この崩壊が起こらないようにするにはどうすればよいでしょうか。
このようにするだけで、問題は解決されます。
ぼかしでは、値の長さがゼロであることを確認してから、入力フィールドを表示するか、ハイパーリンクを表示します。
$('#url0, #url1').each(
function(index, element){
$(element).blur(function(){
if ($(this).val().length == 0)
$(this).show();
else
$(this).hide().prev().show().find('a').html(this.value);
});
}
);
この仲間はどうですか?
http://jsfiddle.net/jaspermogg/EdtC2/4/
$('#url0, #url1').each(
function(index, element){
$(element).blur(function(){
this.value == "" ? $(this).hide().prev().show().find('a').html("[insert text here]") : $(this).hide().prev().show().find('a').html(this.value);
})
}
);
入力ボックスが空の場合、a
「[ここにテキストを挿入]」に設定されます。それとも、事実上見えない状況を望んでいますか? その場合、たとえば、テキストの色を背景に合わせていつでも変更できますか?
これを試してください。
入力が削除された後でもdivが表示/クリックできるように、境界線、デフォルトの幅と高さを追加しただけです。あなたはそれをする必要はないかもしれません。
まったくバグではありません。タグa
が空です。折りたたまれています。
このデモを参照してください。崩壊しないようにCSSを設定する必要があります。たとえば、境界線により、期待どおりに機能します。パディングまたはマージンを追加しても機能します。インラインブロックを表示すると、余分な境界線、パディング、またはマージンなしで修正されます。
.a0 a {
display: inline-block;
}