javascript - 如果包装在标签中,则触发链接
问题描述
解决方案
在第一个事件处理程序中,您引用的是“目标”而不是“当前目标”
e.target
表示被单击的确切元素 - 在您的情况下<em/>
- whilee.currentTarget
表示事件处理程序附加到的元素,这是您的href
值所在的位置。
我会将e.target
第一个事件处理程序中的两个引用更改为,e.currentTarget
并且事情应该按预期工作。
$('.modal-button').click(e => {
e.preventDefault();
$(e.currentTarget).closest('.modal').add('body').addClass('open');
openModals.push($($(e.currentTarget).attr('href')).show());
});
推荐阅读
- javascript - 我可以使用 JS 获取客户端 DNS IP 地址吗?
- html - 如何使 Web 输入字段在某个窗口宽度后开始缩小?
- android - JaCoCo 如何/何时创建 .exec 文件?
- android - 无法运行 sdkmanager - 表示无法识别为 cmdlet、函数、脚本文件或可运行程序的名称
- node.js - 从完全不同的系统进程访问 Electron API
- xamarin - 我可以使用 Xamarin.Forms XAML 在参数中传递 Android 样式吗
- python - Tkinter 条目小部件“显示”选项
- asp.net-mvc - mvcmusicstore v3.0(storeDB在当前上下文中不存在)
- ruby-on-rails - 存根 HTTP 方请求以运行 Specs
- java - 在多活动中用 EventBus 替换 LiveData