jquery没有将文字附加到texarea

时间:2016-03-07 07:36:13

标签: javascript jquery html

我正在使用smileyuikit为texarea制作表情符号插页。

HTML:

<textarea class="smiley-input uk-width-1-1"></textarea>
  <button type="button" class="smiley-button uk-float-right">
    &#128513
  </button>
  <div class="smiley-picker hidden uk-float-right"></div>

的javascript:

$(".smiley-button").click(function() {
  if ($(".smiley-picker").hasClass("hidden")) {
    $(".smiley-picker").fadeIn("fast");
    $(".smiley-picker").toggleClass("hidden");
  } else {
    $(".smiley-picker").fadeOut("fast");
    $(".smiley-picker").toggleClass("hidden");
  }
});
for (i = 128512; i < 128576; i++) {
    $(".smiley-picker").append("<button type='button' class='smiley'>&#"+i+"</button>");
}
for (i = 128581; i < 128591; i++) {
    $(".smiley-picker").append("<button type='button' class='smiley'>&#"+i+"</button>");
}
$(document).ready(function() {
    $(document).on("click",".smiley",function(){
    $(".smiley-input").val($('.smiley-input').val()+$(this).text());
  });
});

由于某种原因,它不会向textarea添加表情符号。 更新:
 必须在value='&#"+i+"'按钮中添加smiley

2 个答案:

答案 0 :(得分:0)

你的代码是正确的,非常适合在小提琴中工作(看下面的小提琴)

答案 1 :(得分:0)

Firefox看起来与Edge和IE Retrieve Button value with jQuery的工作方式不同 我必须在按钮中添加value='&#"+i+"',使其看起来像这样:

for (i = 128512; i < 128576; i++) {
  $(".smiley-picker").append("<button type='button' value='&#"+i+"' class='smiley'>&#" + i + "</button>");
}
for (i = 128581; i < 128591; i++) {
  $(".smiley-picker").append("<button type='button' value='&#"+i+"' class='smiley'>&#" + i + "</button>");
}