【发布时间】:2015-10-10 16:52:48
【问题描述】:
我有以下 JQuery eventhandler。我想停止网页上的所有导航。
$(document).click(function(event) {
event.stopPropagation();
event.preventDefault();
event.cancelBubble = true;
event.stopImmediatePropagation();
$(document).css('border-color','');
$(document).css('background-color','');
$(event.target).css('border-color','yellow');
$(event.target).css('background-color','#6BFF70');
return false;
});
当我在 Facebook 登录页面上使用它时,它会停止所有导航。但在 Google 主页中,“手气不错”按钮仍会导航到下一页。如何避免?
顺便说一下,我正在使用 JavaFX 浏览器。类似于 Safari 浏览器。
【问题讨论】:
-
我尝试使用 $('*')。仍然是相同的行为。
-
如果你只是想阻止任何用户输入,我会添加一个覆盖所有正文的 div
-
@Haketo,我必须在浏览器中加载的任何网站上执行此操作。我没有自己的 HTML。
-
事件的传播是在元素之间;如果用户直接单击一个带有直接附加处理程序的元素,则停止单击事件的传播不会阻止该事件触发。看到这个小提琴:jsfiddle.net/ejreseuu。单击子元素时,无法阻止记录“click2”;传播在触发“click1”事件之前被正确取消,但无法在“click2”事件触发之前捕获事件并停止它。
标签: javascript jquery javafx