我已经实现了角度为https://docs.angularjs.org/guide/directive提供的Angular draggable指令。它基本上只是在mousedown事件上放置一个事件监听器并将位置移动到mouseup事件。
<div class="draggable">
<input type="text"></input>
</div>
当您尝试突出显示输入中的文本时,会出现问题。 div
捕获事件并认为mousedown正在发出拖动动作的信号,而不是突出显示输入中的文本。
当用户在输入元素中丢失时,如何阻止mousedown事件触发div mousedown事件?
答案 0 :(得分:1)
听起来你正在寻找的是event.stopPropogation
https://api.jquery.com/event.stoppropagation/
阻止事件冒泡DOM树,防止任何父处理程序收到事件通知。
我看到你提到了Angular。你可以尝试这样的事情。
.directive('myDirective', function () {
return {
restrict: 'A',
link: function (scope, element, attr) {
element.bind(mouseover, function (event) {
event.stopPropagation();
});
};
});