在我的网页上,我有一个输入法和一个按钮,可以打开一个带着微笑的弹出窗口。例如,当用户轻触一次微笑时,输入值将更改为“当前值”+“: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>