如何检测页面上的任何点击
How to detect any click on the page?
我想捕获页面任何元素上的点击事件。但是我无法点击特定的页面元素。请参阅示例 https://jsfiddle.net/rdnf5m1f/
$(function() {
$(".profile").on( "click","a", function() {
console.log(1);
return false;
});
// below not work
$("body").on( "click","*", function() {
console.log(2);
});
$("body").click(function() {
console.log(2);
});
$(window).click(function() {
console.log(2);
});
});
为什么?
按照您需要的"捕获所有内容,除了一些"。将类"nocapture"添加到您不想捕获的元素中,并使用脚本:
jQuery('*:not(.nocapture)').on('click', function(e){
e.stopPropagation();
console.log('Element clicked', this);
})
当你从 jQuery 函数return false
时,它会执行 stopPropagation
,这将阻止其他处理程序执行。 在这种情况下,我认为您正在寻找以下代码。
$(document).on('click', function() {
console.log(2);
});
将您的代码包装在某种现成的处理程序中,例如 document
.
$(function() {
$("body").click(function() {
console.log(2);
});
});
看看这个
可以使用
e.target
属性来排除某个元素类型或类。
var tagsToExclude = 'a,div';
$(document).click(function(e) {
if(tagsToExclude.indexOf(e.target.nodeName.toLowerCase()) == -1)
alert('Clicked');
e.preventDefault();
});
例 : https://jsfiddle.net/DinoMyte/rdnf5m1f/4/
HTML
<body>
<div class="profile">
<a href="">Bla bla bla</a>
</div>
</body>
jQuery
$(window).on( "click", function() {
alert("click");
});
小提琴
相关文章:
- 获取在谷歌地图上点击的任何点的坐标
- 有没有任何方法可以检测到用户'的Mac硬件模型
- 是否有任何jquery可以检测html标记是否未关闭?或页面未完全加载
- 在准备就绪之前防止任何点击
- 如何检测页面上的任何点击
- jQuery手机内点击检测按钮可折叠
- threejs光线投射点击检测无法在加载的3dObject上工作
- 是否有任何方法可以检测IE8中该窗口当前处于活动状态
- 谷歌地图多段线点击检测线号
- 点击检测文档's添加的元素
- 是否有任何方法可以检测用户是否按下“按钮”;停留在页面上”;或“;离开页面"在beforeunload事件中
- 通过esc键或外部点击检测jquery显示插件模式关闭
- 如何绘制一个可编辑和可拖动的五边形,并找到是否有任何点在里面
- 捕获当前页面上的任何点击事件并阻止导航
- 为什么我的按钮不做任何点击时
- Javascript:是否有任何方法可以检测所有异步脚本何时加载?
- 我如何隐藏文本后的任何点击按钮在jquery
- 在MVC 4的Razor视图中,3秒后刷新JavaScript和Ajax调用控制器,无需任何点击
- 如何关闭弹出窗口,如果其他任何点击
- 不能让动画在jquery中工作.我尝试了所有方法,但它对任何点击按钮都没有反应