2016-03-07 55 views
0

我使用smileyuikit为texarea制作表情符号插入。jquery没有将文本附加到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()); 
    }); 
}); 

出于某种原因,它没有表情添加到textareaUPDATE:
必须在smiley按钮中添加value='&#"+i+"'

+0

您的代码正常工作。 – Sumanta736

+0

似乎在铬上工作https://jsfiddle.net/oz6kzoj6/ –

回答

0

它看起来像Firefox的作​​品不同封边和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>"); 
} 
0

你的代码是正确的,并在小提琴相当不错的工作(看下面小提琴)

+0

这似乎并不奏效。 – DrevanTonder

+0

https://jsfiddle.net/a8puoc9a/ – DicBrus

+0

就像你说的那样,你有'笑脸'而不是'笑脸按钮'。反正它现在有效 – DrevanTonder