在测试文件中编写的代码运行得非常好,我必须将其合并到主代码中,但进展不太顺利。
基本代码由一个简单的 html 文件和一个名为“记住这一点”的按钮组成。
它有一个名为 showRememberMenu() 的函数的 onclick。该函数创建了一个显示在按钮下方的菜单。
下拉菜单有几个标签可以添加到数据中,以提醒用户为什么要尝试记住它。 (我老了,我需要所有我能得到的帮助来记住东西。)
单击按钮,查看下拉菜单,单击您想要的标签,您正在查看的数据将保存在带有该标签的数组中。单击菜单后它就会消失。
然后我的任务是将其放入一个更大的脚本中并查看它是否同样工作......哦,也许不是。单击菜单,使用标签存储数据,然后......什么?为什么菜单还在那里?原版一点击就被删除了。为什么它不消失?
如果我点击“退出不保存”标签,它仍然显示菜单。
作为用户,我正在查看一张包含数据库数据的卡片。单击此按钮是保存该数据以供以后使用的一种方法。在这里您可以看到带有新按钮的卡片。
单击该按钮查看下拉列表并选择与记住此数据相关的标签...
现在对其他卡片执行相同的操作,您就拥有了完成某些任务所需的所有数据,但为什么“&%!!! 该菜单永远不会消失?
在我没有想法后,我联系了我的同事人工智能双子座。它给了我第一个解决方案,这正是我已经拥有的代码。它建议了很多事情,但没有一个起作用。
人们相信检查节点和元素是否存在会让一切都好起来,但事实并非如此。
我们花了大约一个小时的时间才被告知不起作用的事情,并被告知时间问题,可能需要延迟,这确实不相关,但作为一个团队,我们慢慢地解决了这个问题。
如果你想尝试解决这个问题,我敢打赌你可以在更短的时间内完成。
这是有效的原始草案代码...
<meta charset="UTF-8"> <title>Some Javascript</title> <link rel="stylesheet" href="./someJavascript.css"> <link rel="icon" href="favicons/favicon.ico" type="image/icon type"> <div> <p>and the javascript<br> </p> <pre class="brush:php;toolbar:false">let logToConsole=true; var rowData={THId:'2', TaskName:'To climb a tree', TaskDesc:'Try using hands & feet'}; var remember=[]; function rememberProcess(remember){ if(logToConsole) console.log('RememberProcess()'); for(i=0;i<remember.length console.log of remember.length items as remember function putdataintoremember if remember.push deletemenu menulu.parentnode.removechild showremembermenu return already exists const remember_button="document.querySelector('#remember');" menuheaders="['EXIT" no save student manager author task note menulu="document.createElement('lu');" menulu.id="rememberMenu" for i="0;i<menuHeaders.length;i++){" li="document.createElement('li');" li.innertext="menuHeaders[i];" li.id="menuHeaders[i];" li.classlist.add li.addeventlistener> { //console.log('li button clicked', menuHeaders[i], rowData) if(menuHeaders[i]=='EXIT no save') {deleteMenu(menuLu);return}; putDataIntoRemember(menuHeaders[i], rowData);//[header][rowData] rememberProcess(remember);//do something with the stored data structure deleteMenu(menuLu); }) menuLu.appendChild(li); } remember_button.appendChild(menuLu); } </remember.length>
有一些CSS,但与问题无关
.remember_button { background-color: #5A5050; border: 0; border-radius: 5px; box-shadow: 0 10px 10px rgba(0, 0, 0, 0.2); color: #fff; font-size: 12px; padding: 3px 4px; position: relative; letter-spacing: 1px; width: 100px; } /*Button goes white on hover*/ .remember_button:hover { background-color: #ffffff; color: #001F61; cursor:pointer; } .rememberLi{ background-color: #aa9595; border: 0; border-radius: 5px; box-shadow: 0 10px 10px rgba(0, 0, 0, 0.2); color: #fff; font-size: 12px; padding: 3px 4px; position: relative; letter-spacing: 1px; width: 100px; } .rememberLi:hover { background-color: #ffffff; color: #001F61; cursor:pointer; }
以上的作品,或多或少符合我的要求。
这是一个更大系统中的版本,我不会全部发布。
卡片是动态生成的,并添加了以下代码以生成与原始按钮相同类型的按钮
<meta charset="UTF-8"> <title>Some Javascript</title> <link rel="stylesheet" href="./someJavascript.css"> <link rel="icon" href="favicons/favicon.ico" type="image/icon type"> <div> <p>and the javascript<br> </p> <pre class="brush:php;toolbar:false">let logToConsole=true; var rowData={THId:'2', TaskName:'To climb a tree', TaskDesc:'Try using hands & feet'}; var remember=[]; function rememberProcess(remember){ if(logToConsole) console.log('RememberProcess()'); for(i=0;i<remember.length console.log of remember.length items as remember function putdataintoremember if remember.push deletemenu menulu.parentnode.removechild showremembermenu return already exists const remember_button="document.querySelector('#remember');" menuheaders="['EXIT" no save student manager author task note menulu="document.createElement('lu');" menulu.id="rememberMenu" for i="0;i<menuHeaders.length;i++){" li="document.createElement('li');" li.innertext="menuHeaders[i];" li.id="menuHeaders[i];" li.classlist.add li.addeventlistener> { //console.log('li button clicked', menuHeaders[i], rowData) if(menuHeaders[i]=='EXIT no save') {deleteMenu(menuLu);return}; putDataIntoRemember(menuHeaders[i], rowData);//[header][rowData] rememberProcess(remember);//do something with the stored data structure deleteMenu(menuLu); }) menuLu.appendChild(li); } remember_button.appendChild(menuLu); } </remember.length>
其余的 javascript 与原始代码几乎相同
.remember_button { background-color: #5A5050; border: 0; border-radius: 5px; box-shadow: 0 10px 10px rgba(0, 0, 0, 0.2); color: #fff; font-size: 12px; padding: 3px 4px; position: relative; letter-spacing: 1px; width: 100px; } /*Button goes white on hover*/ .remember_button:hover { background-color: #ffffff; color: #001F61; cursor:pointer; } .rememberLi{ background-color: #aa9595; border: 0; border-radius: 5px; box-shadow: 0 10px 10px rgba(0, 0, 0, 0.2); color: #fff; font-size: 12px; padding: 3px 4px; position: relative; letter-spacing: 1px; width: 100px; } .rememberLi:hover { background-color: #ffffff; color: #001F61; cursor:pointer; }
点击之前的提醒
以及点击后如何卡住
我不知道问题是什么,Gemini 正在听一场完全不相关的内容的讲座,但艾和我终于缩小了范围,现在看起来太简单了。
那么为什么菜单会保留下来?
以上是Javascript 监听器点击诱饵的详细内容。更多信息请关注PHP中文网其他相关文章!

JavaScript是现代网站的核心,因为它增强了网页的交互性和动态性。1)它允许在不刷新页面的情况下改变内容,2)通过DOMAPI操作网页,3)支持复杂的交互效果如动画和拖放,4)优化性能和最佳实践提高用户体验。

C 和JavaScript通过WebAssembly实现互操作性。1)C 代码编译成WebAssembly模块,引入到JavaScript环境中,增强计算能力。2)在游戏开发中,C 处理物理引擎和图形渲染,JavaScript负责游戏逻辑和用户界面。

JavaScript在网站、移动应用、桌面应用和服务器端编程中均有广泛应用。1)在网站开发中,JavaScript与HTML、CSS一起操作DOM,实现动态效果,并支持如jQuery、React等框架。2)通过ReactNative和Ionic,JavaScript用于开发跨平台移动应用。3)Electron框架使JavaScript能构建桌面应用。4)Node.js让JavaScript在服务器端运行,支持高并发请求。

Python更适合数据科学和自动化,JavaScript更适合前端和全栈开发。1.Python在数据科学和机器学习中表现出色,使用NumPy、Pandas等库进行数据处理和建模。2.Python在自动化和脚本编写方面简洁高效。3.JavaScript在前端开发中不可或缺,用于构建动态网页和单页面应用。4.JavaScript通过Node.js在后端开发中发挥作用,支持全栈开发。

C和C 在JavaScript引擎中扮演了至关重要的角色,主要用于实现解释器和JIT编译器。 1)C 用于解析JavaScript源码并生成抽象语法树。 2)C 负责生成和执行字节码。 3)C 实现JIT编译器,在运行时优化和编译热点代码,显着提高JavaScript的执行效率。

JavaScript在现实世界中的应用包括前端和后端开发。1)通过构建TODO列表应用展示前端应用,涉及DOM操作和事件处理。2)通过Node.js和Express构建RESTfulAPI展示后端应用。

JavaScript在Web开发中的主要用途包括客户端交互、表单验证和异步通信。1)通过DOM操作实现动态内容更新和用户交互;2)在用户提交数据前进行客户端验证,提高用户体验;3)通过AJAX技术实现与服务器的无刷新通信。

理解JavaScript引擎内部工作原理对开发者重要,因为它能帮助编写更高效的代码并理解性能瓶颈和优化策略。1)引擎的工作流程包括解析、编译和执行三个阶段;2)执行过程中,引擎会进行动态优化,如内联缓存和隐藏类;3)最佳实践包括避免全局变量、优化循环、使用const和let,以及避免过度使用闭包。


热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

Video Face Swap
使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热门文章

热工具

安全考试浏览器
Safe Exam Browser是一个安全的浏览器环境,用于安全地进行在线考试。该软件将任何计算机变成一个安全的工作站。它控制对任何实用工具的访问,并防止学生使用未经授权的资源。

Atom编辑器mac版下载
最流行的的开源编辑器

适用于 Eclipse 的 SAP NetWeaver 服务器适配器
将Eclipse与SAP NetWeaver应用服务器集成。

SublimeText3汉化版
中文版,非常好用

SecLists
SecLists是最终安全测试人员的伙伴。它是一个包含各种类型列表的集合,这些列表在安全评估过程中经常使用,都在一个地方。SecLists通过方便地提供安全测试人员可能需要的所有列表,帮助提高安全测试的效率和生产力。列表类型包括用户名、密码、URL、模糊测试有效载荷、敏感数据模式、Web shell等等。测试人员只需将此存储库拉到新的测试机上,他就可以访问到所需的每种类型的列表。