在我的网页上,我有一个输入法和一个按钮,可以打开一个带着微笑的弹出窗口。例如,当用户轻触一次微笑时,输入值将更改为“当前值”+“:smile1:”。不过,我有大约28个微笑图标和这种方式发送表情是有点困难。我怎样才能使这个过程更容易?因为在这之后,我需要解析所有28个微笑,并检查输入值是否等于其中一个微笑。
我的弹出窗口:

<div class="smile-popuptext" id="smPopup">
<div class="smile1"></div>
<div class="smile2"></div>
<div class="smile3"></div>
//.....and other 25 divs
</div>

我的微笑功能:
    $('.smile1').on('click', function () {
    var message = $('#message').val() + ' :smile1:';
    $('#message').val(message);
});

最佳答案

在标记中没有更改的情况下:

$('#smPopup div[class^="smile"]').on('click', function () {
    var message = $('#message').val() + ' :' + this.className + ':';
    $('#message').val(message);
});

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

<div class="smile-popuptext" id="smPopup">
    <div class="smile1">smile 1</div>
    <div class="smile2">smile 2</div>
    <div class="smile3">smile 3</div>
</div>

<textarea id="message"></textarea>

09-25 16:10