[英]onclick i want to get the tr element but it gives me td element
我有一张桌子,当我点击一个tr元素时,函数给了我td元素。 这是为什么?
let func = function () {
$("tr").on("click", (event)=> {
event.preventDefault();
event.stopPropagation();
console.log(event.isPropagationStopped()); // true
let targetEl = $(event.target);
console.log(targetEl); // Object [ td ]
});
};
func();
我想要“ onclick”给我tr,不知道问题出在哪里。 有人能帮我吗?
这仅仅是因为您停止了事件传播。 因此,点击事件并未转移到父元素。 JavaScript中的默认事件传播是冒泡方法。 阅读本文以获得更好的理解
currentTarget或最近的()
$("tr").on("click", (event) => { event.preventDefault(); event.stopPropagation(); console.log('target:', event.target.tagName) console.log('target closest:', event.target.closest('tr').tagName) console.log('currentTarget:', event.currentTarget.tagName) });
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script> <table> <tr> <td>1</td> </tr> <tr> <td>2</td> </tr> </table>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.