日期:2014-05-16  浏览次数:20370 次

当按下回车时给 textarea 插入一个值
我本想的在contenteditable 的div中,当按下回车时,就插入 \n 
  $("#textarea_area").bind("keypress",function(e){

  if (e.keyCode == 13){
  console.log($("#textarea_area").val());
  var temp = $("#textarea_area").val() +"\n";
  text_area.val( temp);
}

但是在控制台中可以看到,$("#textarea_area").val() 这一句取不到数据 ,如果用$("#textarea_area").text()就取得到。 这是为什么捏?  

不知道怎么回事,如果直接 用
 var temp = $("#textarea_area").text() +"dd";
 $("#textarea_area").val(temp);
先输入a
console.log($("#textarea_area").text()) --> a  
console.log(temp) ----------------------------> add  
回车后再输入c
console.log($("#textarea_area").text()) --> ac  
console.log(temp) ----------------------------> acdd 

而想要的结果应该是 addcdd

------解决方案--------------------
textarea不能用value取。innerHTML这才是对的。jQuery应该是$("#textarea_area").html();
------解决方案--------------------
为什么不等于addcdd呢?
因为你的变量temp不是累加。
var temp += $("#textarea_area").text() +"dd";
这样你试试