取消锚元素<li>中包含的mousedown事件(使用纯js)
Cancel mousedown event (with plain js) on anchor element wrapped in <li>
我有以下标记:
<ul>
<li id="aCont">
<a href="http://test.com">test</a>
</li>
</ul>
<script type="text/javascript">
document.getElementById("aCont").onmousedown= function (e) {
//some Action
}
<script>
我没有设法使它与e.preventDefault()
和e.stopPropagation()
和return false
。有可能取消这个活动吗?
谢谢
假设你的目的是阻止锚点元素的点击导航到指定的URL,那么你需要使用"onclick"事件,而不是"onmousedown"。
对于旧式的element.onsomeevent =
处理程序,只有非IE浏览器将事件对象作为参数传递给函数,而IE有window.event
属性-因此您也需要允许。
并且,再一次,IE在阻止与事件相关的默认操作时做的事情不同:对于IE设置事件的returnValue
属性为false,对于非IE调用e.preventDefault()
(注意"防止"末尾的"t"-你在问题中拼写错误)和/或从处理程序返回false。
结合所有这些:
document.getElementById("aCont").onclick = function(e) {
// allow for IE, which doesn't pass the event object as a parameter
if (!e) e = window.event;
e.returnValue = false;
if (e.preventDefault)
e.preventDefault();
return false;
}
(注意:您也拼错了e.stopPropagation()
,但您不需要该方法用于此目的-它会阻止事件冒气泡到父元素,它不会取消默认操作。)
相关文章:
- 为什么js事件消失了
- 为什么我的点击事件没有使用 react js 触发
- node.js请求数据事件未在CORS ajax调用中触发
- 在D3.js中,有没有任何方法可以将x和y方向上的滚动事件绑定到平移svg
- 使用onkeyup JS事件检查输入的值是否唯一
- dropdown.js中的复杂事件处理
- 使用Bacon.js发出事件
- 针对重复发生的事件,使用moment.js防止DST偏移
- d3 中是否有点击和双击事件.js力定向图
- gulpfile 引发错误事件.js:154
- Chrome 扩展程序在后台注册事件.js
- Google Analytics(分析)在淘汰赛中推送跟踪事件.js数据绑定
- 如何在木偶中使用模型事件.js
- 节点.js - 事件.js:154 抛出错误写入 EPIPE;程序崩溃
- 侦听单击事件 JS
- 使客户端在选项卡关闭节点上发送断开连接事件.js
- 如何在onkepress事件+ JS上计算sub_total和total_price输入
- 不能在onclick事件(JS)上向元素插入函数
- 附加一个错误事件js/jquery
- 捕获鼠标拖动事件JS时会发生奇怪的事情