javascript - 您可以使用 jQuery 处理程序作为 .on() 的选择器吗?
问题描述
是否可以使用 jQuery 处理程序$(...)
作为选择器.on()
?下面的代码片段说明了我的观点:如果我没有选择器的纯文本表示,但有处理程序,如何使圆圈变为蓝色?
// This works.
$(document).on('click', '#wow', function()
{
$(this).css('background-color', '#FF0000');
});
// This doesn't work, but I need it to!
var context = $('#wow');
$(document).on('click', context, function()
{
$(this).css('background-color', '#0000FF');
});
#wow
{
background-color: #CCC;
border-radius: 100px;
height: 100px;
width: 100px;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="wow"></div>
解决方案
不。委托事件处理程序的第二个参数的点是一个选择器,用于匹配未来事件起源的元素。尝试使用现有元素作为第二个参数与委托事件处理程序的目的不符。
更多阅读:http ://learn.jquery.com/events/event-delegation/
否则,只需使用普通的事件处理程序。
$('#wow').on('click', function() {
$(this).css('background-color', '#FF0000');
});
推荐阅读
- c# - C# EndsWith 有时会给出错误的结果
- java - 嗨,为什么我的 try 块正在跳过并且控制最终会阻塞而不给出任何异常?
- ios - 使用 Apple 奇怪行为登录 / React Native
- flutter - 有没有办法从 Flutter 中的 Image 创建或保存 svg 文件?
- jestjs - 如何测试根据useEffect中的状态变化渲染的子组件
- xml - 如何使用 PL/SQL 修改 XML 目标文件的标头?
- asp.net - 我可以禁用用户帐户的登录并且仍然可以进行模拟吗?
- python - 如何将 dataclass_json 中的 field_name 选项用于嵌套字典
- css - 带有可滚动 tbody 的引导响应表?
- azure - 用于特定权限集的 Blob 存储的 Azure 角色