gpt4 book ai didi

javascript - 在javascript中将鼠标悬停在表情符号上时添加标题

转载 作者:太空宇宙 更新时间:2023-11-04 11:21:31 25 4
gpt4 key购买 nike

我有这个示例代码,用于在提交消息时用表情符号替换文本。但是,我想在鼠标悬停在表情符号上时添加标题,以识别用户使用了哪种表情符号,我如何在当前代码中实现这一点?谢谢

<html>
<head>
<title>Testing Emoticon</title>
</head>
<body>
<input type="text" name="message" id="message">
<br><br>
<div class="results"></div>
<script language="javascript" src="./assets/js/jquery-1.11.3.min.js"></script>
<script>
function replaceEmoticons(text) {
var emoticons = {
':-)' : 'smile.png',
':)' : 'smile.png',
';)' : 'wink.png',
';-)' : 'wink.png',
':P' : 'tongue.png'
}, url = "http://localhost/cb/2/assets/img/smileys/", patterns = [],
metachars = /[[\]{}()*+?.\\|^$\-,&#\s]/g;

// build a regex pattern for each defined property
for (var i in emoticons) {
if (emoticons.hasOwnProperty(i)){ // escape metacharacters
patterns.push('('+i.replace(metachars, "\\$&")+')');
}
}

// build the regular expression and replace
return text.replace(new RegExp(patterns.join('|'),'g'), function(match) {
return typeof emoticons[match] != 'undefined' ?
'<img src="'+url+emoticons[match]+'"/>' :
match;
});
}
</script>
<script>
$('#message').keypress(function(e){
if(e.which == 13){//Enter key pressed
e.preventDefault();
var emoticon = $('#message').val();
$('.results').html(replaceEmoticons(emoticon));
}
});
</script>
</body>
</html>

主要目的已解决,当您键入 :) 悬停时输出标题是 smile,来自 smile.png 感谢@普拉文库马尔

另一个问题是我可以自定义标题吗,比如如果我输入 :P 标题的输出可能是 Stick Out Tongue 而不是 tongue 来自 tongue.png

最佳答案

对于我的附加问题,我根据我的研究和试错测试得出了一个解决方案。

当我看到这个链接时,我有了一个想法 javascript emotify作者:本·奥尔曼。

所以我重构了我的代码并得出了这个结论:

我修改了我的 json 数组以添加更多数据。

var emoticons = {
':-)' : ['smile.png', 'Smile'],
':)' : ['smile.png', 'Smile'],
';)' : ['wink.png', 'Wink'],
';-)' : ['wink.png', 'Wink'],
':P' : ['tongue.png', 'Stick Out Tongue']
}, url = "http://localhost/cb/2/assets/img/smileys/", patterns = [],
metachars = /[[\]{}()*+?.\\|^$\-,&#\s]/g;

还有这部分函数来匹配我的新 json 数组:

// build the regular expression and replace
return text.replace(new RegExp(patterns.join('|'),'g'), function (match) {
return typeof emoticons[match][0] != 'undefined' ?
'<img src="'+url+emoticons[match][0]+'" title="' + emoticons[match][1] + '" />' :
match;
});

现在它真的可以根据我的需要工作了。万岁!

关于javascript - 在javascript中将鼠标悬停在表情符号上时添加标题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32729510/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com