繁体   English   中英

onclick我想获取tr元素,但它给了我td元素

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM