xghyxx
2019-06-24 09:29
采纳率: 100%
浏览 458

jQuery如何获取获得焦点的当前元素而不是父元素?

HTML代码:

<div onfocus="f(this)" contenteditable="true">
    <p onfocus="f(this)" contenteditable="true">p</p>
</div>

jQuery代码:

function f(el) {
    console.log(el.nodeName);
}

在p元素获得焦点后实际打印的是div,那如何才能获得p这个当前的元素?

谢谢!!

条件就是在div和p上都设置onfocus来获取p这个当前元素。
如果div上不设置onfocus的话当然可以获取的到p,但那也没有提问的必要了。

  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

4条回答 默认 最新

  • qq_32634797 2019-06-24 11:31
    已采纳

    你按照以下方法写就可以了!
    function f(el) {
    console.log(el.childNodes[1].nodeName);
    }

    已采纳该答案
    打赏 评论
  • threenewbee 2019-06-24 09:34

    不要写div的onfocus。你触发的是div的。

    打赏 评论
  • 星曜纤尘 2019-06-24 13:06

    如果div没有设置宽高,那么它的大小将会由子元素p标签撑起来,你点击p,也就意味着点击了div,所以可以使用阻止冒泡的方式达到你想要的

    打赏 评论
  • 自愈力 2019-06-26 15:16
    如qq_32634797 这个朋有说的,这种可以。已经测试。
    function f(el) {        
        console.log(el.childNodes)
    console.log(el.childNodes[1].nodeName);
    

    }

    打赏 评论

相关推荐 更多相似问题