我试图让它在用户点击时发生这种情况。
按顺序,
有所作为。 (不具体,这不是重要的部分。)
触发鼠标向上。
使用:angular,html,css。 不使用:jQuery
有什么建议吗? 谢谢!
答案 0 :(得分:1)
您附加了两个事件侦听器,一个是用户按下鼠标mousedown
。一旦用户放手,就会触发mouseup
事件。所有鼠标事件侦听器都传递一个event
对象,您可以使用该对象获取有关事件的信息,即:鼠标x和y位置。可用方法之一是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
}
})
答案 1 :(得分:0)
在mouseup回调中使用events.preventDefault();
。
在event.stopPropagation();
之后立即使用,以避免事件传递到其他分层元素。
bypassed_element.onclick = function(event){
event.preventDefault();
event.stopPropagation();
};