javascript - 将 preventDefault 添加到无序列表的任何列表元素中?
问题描述
我需要将防止默认值添加到无序列表的列表元素中
<ul class="select2-results" role="listbox" id="select2-results-2">
<li class="select2-results-
dept-0 select2-result select2-result-selectable" role="presentation"><div class="select2-
result-label" id="select2-result-label-4" role="option"><div class="flex justify-space-
between align-center py1 px2">
<div>
<p class="m0">MY REView</p>
<p class="grey-20 m0">Active</p>
</div>
<div class="cycle-switcher-result-label invisible hide">Actions Required</div>
</div></div>
</li>
<li class="select2-results-dept-0 select2-result select2-result-
selectable" role="presentation"><div class="select2-result-label" id="select2-result-label-
5" role="option"><div class="flex justify-space-between align-center py1 px2">
<div>
<p class="m0">TEST MY REVIEW</p>
<p class="grey-20 m0">Active</p>
</div>
<div class="cycle-switcher-result-label invisible hide">Actions Required</div>
</div></div>
</li>
</ul>
我试图添加元素本身,它不起作用
let item = document.getElementsByClassName('select2-results')[0]
$(item).on('mousedown',function(e){console.log("showCycleSwitcher mouse down...");
e.preventDefault();})
如何确保 mousedown preventDefault 适用于 click li 元素
解决方案
据我所知,您正在将 jQuery 与 vanila js 混合使用。
let item = document.getElementsByClassName('select2-results')[0];
item.addEventListener("click", function(e) {
e.preventDefault();
console.log("showCycleSwitcher mouse down...");
});
这对我有用,不需要 jQuery。
推荐阅读
- javascript - 默认参数与问号
- c++ - 如何在 C++ 中使用带有指针的 const cast?
- ios - 如何获取 .plist / 属性列表内容并在 swift 4.2 中显示
- r - 在 R 中,命令作用于变量,而不是变量所针对的对象。我怎样才能解决这个问题?
- flyway - 如何查看 flyway 发送到我的数据库的命令?
- javascript - Http订阅数据未分配给变量
- mysql - 使用空值连接查询
- php - 如何在 Laravel Cashier 的发票中添加元数据?
- python - 使用 pandas 读取 csv 数据中的某些列
- python - 网页抓取 pdf 链接 - 不返回结果