TA的每日心情 | 奋斗 2023-7-6 11:14 |
---|
签到天数: 253 天 [LV.8]以坛为家I
荣誉开发者
累计点滴改进,迈向完美品质。
- 积分
- 2178
|
悬赏10油猫币已解决
本帖最后由 Hangover 于 2022-1-29 19:27 编辑
问题:想优化一下代码,让代码看起来更容易理解,大佬们有没有优雅一点的写法
代码思路:- 监听抬起鼠标左键后执行{
- if (是否选中文本) {
- if (按钮是否已存在) {
- 存在则删除
- }
- 创建按钮
- } else if (按钮是否存在) {
- 存在则删除
- }
- }
复制代码- document.addEventListener("mouseup", (event) => {
- event = event || window.event;
- var left = event.clientX;
- var top = event.clientY;
- var TranslationButton = document.querySelector('#speech-translation');
- var getSelection = window.getSelection().toString();
- if (getSelection != '') {
- if (TranslationButton) {
- document.body.removeChild(TranslationButton);
- }
- TranslationButton = document.createElement("button");
- document.body.appendChild(TranslationButton);
- TranslationButton.style.left = left + 50 + "px";
- TranslationButton.style.top = top + 0 + "px";
- TranslationButton.id = "speech-translation";
- TranslationButton.style.position = "fixed";
- TranslationButton.innerHTML = '翻译';
- TranslationButton.addEventListener('mouseup', function (e) {
- e.stopPropagation();
- });
- TranslationButton.onclick = function () {
- alert('666');
- };
- } else if (TranslationButton) {
- document.body.removeChild(TranslationButton);
- };
- });
复制代码
|
最佳答案
查看完整内容
创建按钮那部分代码移到mouseup外面去,这样可以保证按钮一定是存在的,然后用display: none来控制按钮是否可见。
|