- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
考虑以下代码:
HTML
<a href="http://www.google.com" target="_blank" id="myLink" class="anyclass">testlink</a>
JavaScript
$('#myLink').on("mousedown",doMouseDown);
function doMouseDown(e)
{
e.stopImmediatePropagation();
console.log("Mouse down");
return true;
}
这是我的代码的一个非常简化的版本,但问题是完全一样的。简而言之:在我的处理程序中使用 e.stopImmediatePropagation()
,我希望在单击链接时不会将我发送到 Google。我应该只执行 console.log()
。我所有的研究表明我的想法是对的,但它仍然同时执行“鼠标按下”处理程序和链接的默认“点击”处理程序(即它在新选项卡中打开 Google)。
我试过,没有说服力,添加一个 e.preventDefault()
作为我的处理程序的第一条指令,我试过返回 false
,我已经尝试在绑定(bind)时将我的处理程序定义为匿名函数,我尝试简单地从匿名函数调用它,所有这些都以不同的组合进行,没有任何改进。我必须承认我完全没有办法解决这个问题。你们中的任何人都可以为我指明正确的方向吗?任何帮助将不胜感激。
如果你想测试,here's the fiddle
最佳答案
试试这个
var i=0;
$('#myLink').on('mousedown mouseup click', function(e) {
e.preventDefault();
e.stopImmediatePropagation();
console.log(e.type);
console.log(i);
i++;
});
在控制台打印
"mousedown"
0
"mouseup"
1
"click"
2
和使用
var i=0;
$('#myLink').on('mousedown mouseup click', function(e) {
if(i>0)
{
return false;
}
e.preventDefault();
e.stopPropagation();
console.log(e.type);
console.log(i);
i++;
});
在控制台打印
"mousedown"
0
关于javascript - stopImmediatePropagation 未按预期工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18746243/
我正在为我自己的对象模型重用 native 事件类。 我发现并使用了 Event.stopBubbling 属性,该属性在调用 Event.stopPropagation() 后确实设置为 true。
考虑以下代码: HTML testlink JavaScript $('#myLink').on("mousedown",doMouseDown); function doMouseDown(e) {
我想使用 stopImmediatePropagation 来防止触发同一元素上的第二个(鼠标按下)hadler,但它不起作用。代码示例: $(function() { var showEvent
我在 DOM 填充期间添加了几个图像元素,我使用 jQuery“on”将点击监听器附加到添加的每个图像,为了防止在单击图像时传播事件我使用了 stopImmediatePropagation,但是这没
将@angular/platform-browser(和其他@angular/xxx)升级到版本 6.0.4 后,我在应用程序的第一次加载和每次第一页重新加载后出现此错误(第一个 F5:错误,第二
IE 缺少对 stopPropagation() 的支持,requires workarounds ,但我无法判断 stopImmediatePropagation() 是否也是如此 - 它对所有浏览
我有这样的代码: NEXT 此应用程序包含一个库,不允许对其进行编辑。单击“ui-button-next”时,它们会调用 event.stopImmediatePropagation() 来停止
event.stopPropagation()和event.stopImmediatePropagation()有什么区别? 最佳答案 stopPropagation 将阻止任何 父 处理程序被执行
任务 - 为 Angular 库创建一个可重用的按钮/ anchor 标记属性选择组件,其中尽可能多的行为逻辑绑定(bind)在组件本身而不是 HTML 标记上。 理想情况下,HTML 标记应尽可能干
目前,当我取消注释 e.stopImmediatePropagation(); 时,该代码片段仅允许切换每个菜单。 问题是我无法使用 e.stopImmediatePropagation(); 因为我
如果满足特定场景,我想限制对 anchor 按钮单击的进一步操作。在将事件处理程序附加到正文时,我下面给出的一段代码不起作用。 anchor 是 Continue jquery部分是 $('body'
我有一个使用 Jquery 和 Ajax 将数据发送到服务器端的表单,但是即使我在我的应用程序中应用了 preventDefault() 和 stopImmediatePropagation 也提交了
我得到这个代码 http://www.technoread.net/webdesign/javascript-a-jquery/item/89-live-table-edit-delete-with-
我在某些文本点击时显示搜索字段,并在搜索输入模糊时隐藏它。 但如果我点击搜索按钮,我不想隐藏输入字段,并防止它被隐藏(因为模糊)。我尝试 stopImmediatePropagation() 但没有任
我正在尝试修改 Jira Tempo 插件的计划工作表。所以在节奏时间表页面我有一个绑定(bind)了 2 个 Action 的按钮,一个是点击 Action ,一个是聚焦。单击操作会打开一个弹出窗口
我正在尝试加快网页速度,但由于我是 JavaScript 的新手,优化并非没有错误。我创建了我想与 Window.requestAnimationFrame() 结合使用的 onclick 过渡效果。
我相信 event.stopImmediatePropagation() 不适用于 Chrome for Android。有人能解决吗? (替代代码)?谢谢。 最佳答案 尝试 event.callNo
我有一个用于创建图像轮播的 jQuery 代码。我知道这不是最优雅的代码。 jQuery(function(){ $(".project").css('max-height','180px'); //
如何从 onclick 中获取事件对象?属性? 我试过: Click me 另外,我试过这个: Click me 但是控制台只显示元素。 最佳答案 我认为您必须在 中定义函数在别处标记。 简单地使用
我正在为一个 JavaScript 库编写事件处理代码,我正在尝试实现类似于 stopImmediatePropagation() 的东西,它也可以在 IE 6 中工作。 当前事件处理的工作方式是,我
我是一名优秀的程序员,十分优秀!