你"bypass"鼠标怎么放?
How do you "bypass" mouse up?
我正在努力做到这一点,当用户点击时,就会发生这种情况。
按顺序,
Does something. (Not being specific, this isn't the important part.)
Mouse up is triggered.
使用:angular、html、css。
未使用:jQuery
有什么建议吗?
谢谢!
在 mouseup 回调中使用 events.preventDefault();
。
紧接着使用 event.stopPropagation();
以避免事件传递给其他分层元素。
bypassed_element.onclick = function(event){
event.preventDefault();
event.stopPropagation();
};
您附加了两个事件侦听器,一个是在用户按下鼠标时 mousedown
。一旦用户放手,就会触发 mouseup
事件。所有鼠标事件侦听器都传递了一个 event
对象,您可以使用它来获取有关事件的信息,即:鼠标 x 和 y positions.one 可用的方法是 event.preventDefault()
这将阻止浏览器执行它通常想做什么。示例:cmd/ctrl + s
将导致浏览器保存 html 页面。 preventDefault
将停止此操作。
document.addEventListener('mousedown' function (event) {
// Do something
})
document.addEventListener('mouseup', function (event) {
event.preventDefault()
})
要解决 OP 评论:
var noMouseUp = true
document.addEventListener('mousedown', function () {
if (noMouseUp) {
// do something
noMouseUp = false
}
})
document.addEventListener('mouseup', function (event) {
if (!noMouseUp) {
noMouseUp = true
}
})
我正在努力做到这一点,当用户点击时,就会发生这种情况。
按顺序,
Does something. (Not being specific, this isn't the important part.)
Mouse up is triggered.
使用:angular、html、css。 未使用:jQuery
有什么建议吗? 谢谢!
在 mouseup 回调中使用 events.preventDefault();
。
紧接着使用 event.stopPropagation();
以避免事件传递给其他分层元素。
bypassed_element.onclick = function(event){
event.preventDefault();
event.stopPropagation();
};
您附加了两个事件侦听器,一个是在用户按下鼠标时 mousedown
。一旦用户放手,就会触发 mouseup
事件。所有鼠标事件侦听器都传递了一个 event
对象,您可以使用它来获取有关事件的信息,即:鼠标 x 和 y positions.one 可用的方法是 event.preventDefault()
这将阻止浏览器执行它通常想做什么。示例:cmd/ctrl + s
将导致浏览器保存 html 页面。 preventDefault
将停止此操作。
document.addEventListener('mousedown' function (event) {
// Do something
})
document.addEventListener('mouseup', function (event) {
event.preventDefault()
})
要解决 OP 评论:
var noMouseUp = true
document.addEventListener('mousedown', function () {
if (noMouseUp) {
// do something
noMouseUp = false
}
})
document.addEventListener('mouseup', function (event) {
if (!noMouseUp) {
noMouseUp = true
}
})