我有一个包含一些文本和跨度的div。我想捕获文本上的所有mouseup / keyup,以及跨越所有dblclick。问题是mouseup / keyup在dblclick之前被触发了。看下面的代码:
<div>text1 text2 <span>text3</span> text4 <span>text5</span>
span {background:grey}
$("div").on("keyup mouseup", function () {
alert("div keyup mouseup");
});
$("span").on("dblclick", function (event) {
alert("span dblclick");
});
其中一个解决方案可能是将onmouseup / onkeyup仅绑定到文本元素。我想知道如何用jquery做到这一点。有些东西:
$("div").on("keyup mouseup", "text-only-selector", function () {
alert("div keyup mouseup");
});
答案 0 :(得分:2)
尝试阻止来自span元素的事件传播
$("div").on("keyup mouseup", function () {
console.log("div keyup mouseup");
});
$("span").on("dblclick", function (event) {
console.log("span dblclick");
});
$("span").on("keyup mouseup", function (event) {
event.stopPropagation();
});
演示:Fiddle