javascript - 如何通过点击孩子来避免点击父母?
问题描述
<div class='titlewrap'>
<div class='title'>lorem ipsum</div>
<div class='title'>lorem ipsum</div>
<div class='title'>lorem ipsum</div>
<br><br>
</title>
我想单独右键单击titlewrap
vs title
。
js
$(document).on('contextmenu', '.titlewrap', function(e) {
e.preventDefault();
console.log('titlewrap');
});
$(document).on('contextmenu', '.title', function(e) {
e.preventDefault();
console.log('title');
});
点击title
给出双控制台结果:
titlewrap
title
如何只title
通过点击title
并继续titlewrap
点击获得titlewrap
(下方空白处title
)
解决方案
尝试像这样将 stopPropagation 添加到 .title 函数
$(document).on('contextmenu', '.titlewrap', function(e) {
e.preventDefault();
console.log('titlewrap');
});
$(document).on('contextmenu', '.title', function(e) {
e.preventDefault();
e.stopPropagation();
console.log('title');
});
推荐阅读
- sql-server - 根据某些条件将表中的记录更新/插入到同一个表中
- pandas - 如何使用 Python pandas 处理数据整理问题中的 -inf 值
- grails - 使用 GORM 6.0.12 插入带有空值的属性
- reactjs - 酶 mount().find 没有找到任何东西
- android - 如何使用片段将 Firebase 数据填充到微调器中
- mysql - MySQL查询给工资低于平均工资的员工5%的奖金
- php - 如何在我的 wordpress 站点中解决这个问题致命错误:无法重新声明 true_plugins_activate()(之前在
- c# - 如何从 sqlite c# 中的以下查询中获取表名
- python - anaconda提示符中的Python命令不起作用
- javascript - Javascript Reactjs:有没有办法以表单形式运行 MySQL 查询