我只是使用下面的代码
尝试使用占位符文本的div文本$('#editabledrag').draggable()
.click(function(){
$(this).draggable({disabled:false });
})
.dblclick(function(){
$(this).draggable({disabled : true});
var textval=$(this).text();
alert(textval);
if(textval == "Drag or double click and type!." )
{
alert("if");
$(this).text("");
$(this).focus();
}
else
{
alert("else");
$(this).focus();
}
$(this).blur(function(){
var textval2 =$(this).text();
//textval2 = textval2.length;
alert(textval2);
if (textval2 == "" ) {
alert( "if" );
$(this).text("Drag or double click and type!.");
}
else {
alert( "else" );
}
});
});
我的jsp:
<div id="editabledrag" contenteditable="true" style="position: fixed;z-index:10000000">
Drag or double click and type!.
</div>
我的小提琴:http://jsfiddle.net/Manivasagam/ux3k0t23/27/
我正确得到div值,但我的if条件不满意。
我哪里错了?
答案 0 :(得分:1)
您提取的文字中包含换行符。在比较if条件中的值之前,您需要从提取的文本中删除换行符:
if(textval.replace(/(\r\n|\n|\r)/gm,"")=="Drag or double click and type!."){
//do something..
}
<强> Working Demo 强>
答案 1 :(得分:1)
您可以在比较之前修剪字符串。使用textval.trim()
答案 2 :(得分:1)
因为你的div中的内容。删除div中的“新行”并将其写为
<div id="editabledrag" contenteditable="true" style="position: fixed;z-index:10000000">Drag or double click and type!.</div>