我如何处理 jQuery 中锚点的文本值更改为“”的情况
How can I deal with a case in jQuery where an anchor's text value is changed to ""?
这是代码:Jsfiddle
- 我有一个表单,可以通过在链接上单击dbl单击或在
a
内部div
内单击来编辑a
文本值。 - Onblur,输入框中在 1. 中的条件中显示的值被分配给
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
设置为"[在此处插入文本]"。或者你想要一个实际上不可见的情况?如果是这种情况,例如,您可以随时更改文本颜色以匹配背景?
根本不是错误。您的a
标签为空,它会折叠。
请参阅此演示以了解。您需要在其上设置一些css以使其不会折叠。例如,边框使其按预期工作。添加填充或边距也可以。使其显示内联块还可以修复它,而无需任何额外的边框、填充或边距。
.a0 a {
display: inline-block;
}
试试这个。
我只是添加了一个边框,默认宽度和高度,以便即使在删除输入后div 也可见/可单击。您可能不需要这样做。
相关文章:
- 在不移动内部文本的情况下缩放元素的效果
- 无法't在不使用Javascript刷新页面的情况下多次将值传递给文本框
- 如何在不打断标记的情况下突出显示html字符串中的文本
- 在不更改HTML源代码的情况下,在管理员TinyMCE编辑器中突出显示文本
- 在不更改边框颜色的情况下更改文本的颜色
- 在不使用javascript的情况下,可以在表单字段中设置文本占位符(以提示最终用户插入特定格式)
- 如何在不通过模型验证的情况下屏蔽文本输入中输入的字符
- 文本区域JavaScript中的字符限制-特殊情况
- 如何在不干扰电子邮件通知的情况下将眼镜保存在文本文件中
- 如何在没有表单提交、没有js、没有jquery和没有ajax的情况下将输入的文本框值存储到php变量中
- 如何在不点击的情况下突出显示 HTML 中的文本
- 如何在不使用任何 html 输入/搜索元素的情况下读取本地客户端文本文件
- 如何在不丢失格式的情况下连续淡入() 元素文本的每个字符,包括嵌套元素
- 如何在不分隔跨度字母的情况下对文本进行动画处理
- 是否可以在没有CMS的情况下使用富文本编辑器
- 输入文本是't在一种情况下以相同的形式更新与另一种情况相同的角度模型
- 当我单击画布并拖动鼠标时,光标将变为文本选择光标.我该如何防止这种情况发生
- 在没有 jquery 的情况下更改子节点(父节点具有 ID)中的链接文本
- Angularjs观察用户在输入文本中键入逗号的情况
- 在不使用JQuery的情况下更改IFrame中的文本