我正在根据用户为该页面指定的名称创建指向该页面的链接。但是,如果名称为零宽度空格,则该链接不可单击。
如何阻止用户为页面提供不可点击的名称?如果可能,我想允许使用Unicode字符。
通过Django表单将名称输入数据库,并在jQuery中构建HTML链接。 Django抱怨名称是否为常规空格,但接受零宽度的空格。
var linkText1 = 'foo', linkText2 = '\u200b';
$('#ex1')
.append($('<a>')
.text(linkText1)
.attr('href', 'javascript:alert("clicked.")'));
$('#ex2')
.append($('<a>')
.text(linkText2)
.attr('href', 'javascript:alert("clicked.")'));
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<p id="ex1">Example 1 </p>
<p id="ex2">Example 2 </p>
最佳答案
检测零witdh空间并将其替换为空或空空间。然后,在创建链接时,请跳过该文本(如果为null,则不显示任何链接),或者显示默认的链接文本,例如“ Click Here”。
这是一些代码,用于检测零宽度空间并将其替换为空字符串:
linkText2 = linkText2.replace(/\u200B/g,'');
如果给定为空,则在此处设置默认值:
linkText2 = (linkText2 == '') ? "Click Here" : linkText2;