我正在使用smiley和uikit为texarea制作表情符号插页。
HTML:
<textarea class="smiley-input uk-width-1-1"></textarea>
<button type="button" class="smiley-button uk-float-right">
😁
</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
。
答案 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>");
}