我能够触发mouseup
和mousedown
个事件。用于触发我使用:
$(document).ready(function(){
$("html").mouseup(function(){
console.log("mouseup");
});
$("html").mousedown(function(){
console.log("mousedown");
});
});
我的问题是,如果我点击空格,我的代码也会触发。所以,我想在用户点击HTML元素时触发,而不是在白色屏幕上。有可能这样做吗?
答案 0 :(得分:1)
我正在检查你的问题并意识到你想要一些概括的东西。所以我所做的是,我添加了一个条件,如果目标是html,你的进一步代码将不会执行(只会调用事件)。
$("html").mouseup(function(event){
if(event.target !== $('html')[0]){
console.log("mouseup");
}
});
$("html").mousedown(function(event){
if(event.target !== $('html')[0]){
console.log("mousedown");
}
});
答案 1 :(得分:0)
现在写一下你在整个html div上添加事件。这意味着<html> ... </html>
标记内包含的所有内容都将响应该事件。将其修复为您要响应该事件的特定div的标记名称。
对于按钮的示例,它将变为
$('button').on('mouseup', () => {
console.log('mouse up on button')
})`
答案 2 :(得分:0)
您可以使用*
选择器。
$(document).ready(function() {
//$("html").find("*").mouseup(function(e) { or
$("html *").mouseup(function(e) {
console.log("mouseup");
e.stopPropagation();
});
//$("html").find("*").mousedown(function(e) { or
$("html *").mousedown(function(e) {
console.log("mousedown");
e.stopPropagation();
});
});