jquery中keyup事件为什么不执行?
我想要实现
1.点击#skillKey tr元素后代码颜色改变,
2.之后通过键盘输入后改变当前元素的text,为了方便调试讲步骤2省略为alert(123)
HTML代码代码如下:
<table id="skillKey"> <tbody> <tr>Q</tr> </tbody> <table>
JQuery代码如下:
$(function () { $('#skillKey').on('click', 'tr', function () { $(this).css('color','red'); $(this).keyup(function(){ alert(123) }); }); })
为什么点击后元素变色,而通过键盘输入,无法alert?通过$(document).keyup()确实可以达到效果,想知道其中原因。有可能与keyup()要求绑定的元素类型有关?
另:一种错误的keyup()函数调用方法,若这样写:
$(function () { $('#skillKey').on('click', 'tr', function () { $(this).css('color','red'); $(this).keyup(alert(123)); }); })
那么点击tr后元素变色的同时会弹窗123,这是为什么?
先指出你的一个错误点
$('#skillKey').on('click', 'tr', function () { $(this).css('color','red'); $(this).keyup(function(){ alert(123) }); });
你这样绑定事件,结果是点击一次tr绑定一次,点了多少次就绑定了多少次,这个例子还是不明显,你在tr里放置一个input,然后编写如下代码,看看效果如何
$('#skillKey').on('click', 'input', function () { $(this).css('color','red'); $(this).blur(function(){ alert(123) }); });
再给个建议
需要使用的元素可以先缓存,不要滥用$,易读的前提下可以使用链式
$('#skillKey').on('click', 'tr', function () { var $this = $(this); $this .css('color', 'red') .keyup(function () { alert(123) }); });
以上是jquery中keyup事件为什么不执行?的详细内容。更多信息请关注PHP中文网其他相关文章!

热AI工具

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

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

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

AI Hentai Generator
免费生成ai无尽的。

热门文章

热工具

记事本++7.3.1
好用且免费的代码编辑器

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

禅工作室 13.0.1
功能强大的PHP集成开发环境

Dreamweaver CS6
视觉化网页开发工具

SublimeText3 Mac版
神级代码编辑软件(SublimeText3)

热门话题

H5页面需要持续维护,这是因为代码漏洞、浏览器兼容性、性能优化、安全更新和用户体验提升等因素。有效维护的方法包括建立完善的测试体系、使用版本控制工具、定期监控页面性能、收集用户反馈和制定维护计划。

JavaScript 是否可在无 HTML5 环境下运行?JavaScript 引擎自身可独立运行。在浏览器环境中运行 JavaScript 依赖 HTML5,因其提供加载和执行代码所需的标准化环境。HTML5 提供的 API 和特性对现代 JavaScript 框架和库至关重要。离开 HTML5 环境,许多 JavaScript 功能难以实现或无法实现。

在router文件夹下的index.js文件中注册VueRouter的必要性在开发Vue应用程序时,常常会遇到关于路由配置的问题。特�...

H5 页面制作的优势包括:轻量级体验,加载速度快,提升用户留存率。跨平台兼容性,无需针对不同平台适配,提升开发效率。灵活性和动态更新,无需审核,便于内容修改和更新。成本效益,开发成本比原生 App 低。

关于Flex布局中紫色斜线区域的疑问在使用Flex布局时,你可能会遇到一些令人困惑的现象,比如在开发者工具(d...

无法以 root 身份登录 MySQL 的原因主要在于权限问题、配置文件错误、密码不符、socket 文件问题或防火墙拦截。解决方法包括:检查配置文件中 bind-address 参数是否正确配置。查看 root 用户权限是否被修改或删除,并进行重置。验证密码是否准确无误,包括大小写和特殊字符。检查 socket 文件权限设置和路径。检查防火墙是否阻止了 MySQL 服务器的连接。

如何解决用户代理样式表导致的显示问题?在使用Edge浏览器时,项目中的一个div元素无法显示。经过查看,发�...

在Safari中使用自定义样式表的问题探讨今天我们来探讨一个关于Safari浏览器的自定义样式表应用问题。前端新手...
